diff --git a/src/java/PluginQR/AndroidManifest.xml b/src/java/PluginQR/AndroidManifest.xml
index 60a5d22a..4c95117a 100644
--- a/src/java/PluginQR/AndroidManifest.xml
+++ b/src/java/PluginQR/AndroidManifest.xml
@@ -3,6 +3,17 @@
package="keepass2android.plugin.qr"
android:versionCode="1"
android:versionName="1.0" >
+
+
+
+
+
+
+
+
-
-
-
+
+
-
-
-
+
+
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
diff --git a/src/java/PluginQR/gen/keepass2android/plugin/qr/R.java b/src/java/PluginQR/gen/keepass2android/plugin/qr/R.java
index 94fe01ca..8705a9a9 100644
--- a/src/java/PluginQR/gen/keepass2android/plugin/qr/R.java
+++ b/src/java/PluginQR/gen/keepass2android/plugin/qr/R.java
@@ -8,48 +8,1470 @@
package keepass2android.plugin.qr;
public final class R {
+ public static final class anim {
+ public static final int abc_fade_in=0x7f040000;
+ public static final int abc_fade_out=0x7f040001;
+ public static final int abc_slide_in_bottom=0x7f040002;
+ public static final int abc_slide_in_top=0x7f040003;
+ public static final int abc_slide_out_bottom=0x7f040004;
+ public static final int abc_slide_out_top=0x7f040005;
+ }
+ public static final class array {
+ public static final int country_codes=0x7f0e0000;
+ public static final int preferences_front_light_options=0x7f0e0002;
+ public static final int preferences_front_light_values=0x7f0e0001;
+ }
public static final class attr {
+ /** Custom divider drawable to use for elements in the action bar.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionBarDivider=0x7f01000f;
+ /** Custom item state list drawable background for action bar items.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionBarItemBackground=0x7f010010;
+ /** Size of the Action Bar, including the contextual
+ bar used to present Action Modes.
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int actionBarSize=0x7f01000e;
+ /** Reference to a theme that should be used to inflate widgets
+ and layouts destined for the action bar. Most of the time
+ this will be a reference to the current theme, but when
+ the action bar has a significantly different contrast
+ profile than the rest of the activity the difference
+ can become important. If this is set to @null the current
+ theme will be used.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionBarSplitStyle=0x7f01000c;
+ /** Reference to a style for the Action Bar
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionBarStyle=0x7f01000b;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionBarTabBarStyle=0x7f010008;
+ /** Default style for tabs within an action bar
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionBarTabStyle=0x7f010007;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionBarTabTextStyle=0x7f010009;
+ /** Reference to a theme that should be used to inflate widgets
+ and layouts destined for the action bar. Most of the time
+ this will be a reference to the current theme, but when
+ the action bar has a significantly different contrast
+ profile than the rest of the activity the difference
+ can become important. If this is set to @null the current
+ theme will be used.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionBarWidgetTheme=0x7f01000d;
+ /** Default action button style.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionButtonStyle=0x7f010016;
+ /** Default ActionBar dropdown style.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionDropDownStyle=0x7f010047;
+ /** An optional layout to be used as an action view.
+ See {@link android.view.MenuItem#setActionView(android.view.View)}
+ for more info.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionLayout=0x7f01004e;
+ /** TextAppearance style that will be applied to text that
+ appears within action menu items.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionMenuTextAppearance=0x7f010011;
+ /** Color for text that appears within action menu items.
+
May be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+
May be a color value, in the form of "#rgb", "#argb",
+"#rrggbb", or "#aarrggbb".
+ */
+ public static final int actionMenuTextColor=0x7f010012;
+ /** Background drawable to use for action mode UI
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionModeBackground=0x7f01003c;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionModeCloseButtonStyle=0x7f01003b;
+ /** Drawable to use for the close action mode button
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionModeCloseDrawable=0x7f01003e;
+ /** Drawable to use for the Copy action button in Contextual Action Bar
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionModeCopyDrawable=0x7f010040;
+ /** Drawable to use for the Cut action button in Contextual Action Bar
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionModeCutDrawable=0x7f01003f;
+ /** Drawable to use for the Find action button in WebView selection action modes
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionModeFindDrawable=0x7f010044;
+ /** Drawable to use for the Paste action button in Contextual Action Bar
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionModePasteDrawable=0x7f010041;
+ /** PopupWindow style to use for action modes when showing as a window overlay.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionModePopupWindowStyle=0x7f010046;
+ /** Drawable to use for the Select all action button in Contextual Action Bar
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionModeSelectAllDrawable=0x7f010042;
+ /** Drawable to use for the Share action button in WebView selection action modes
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionModeShareDrawable=0x7f010043;
+ /** Background drawable to use for action mode UI in the lower split bar
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionModeSplitBackground=0x7f01003d;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionModeStyle=0x7f01003a;
+ /** Drawable to use for the Web Search action button in WebView selection action modes
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionModeWebSearchDrawable=0x7f010045;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int actionOverflowButtonStyle=0x7f01000a;
+ /** The name of an optional ActionProvider class to instantiate an action view
+ and perform operations such as default action for that menu item.
+ See {@link android.view.MenuItem#setActionProvider(android.view.ActionProvider)}
+ for more info.
+
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int actionProviderClass=0x7f010050;
+ /** The name of an optional View class to instantiate and use as an
+ action view. See {@link android.view.MenuItem#setActionView(android.view.View)}
+ for more info.
+
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int actionViewClass=0x7f01004f;
+ /** Default ActivityChooserView style.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int activityChooserViewStyle=0x7f01006c;
+ /** Specifies a background drawable for the action bar.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int background=0x7f01002f;
+ /** Specifies a background drawable for the bottom component of a split action bar.
+
May be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+
May be a color value, in the form of "#rgb", "#argb",
+"#rrggbb", or "#aarrggbb".
+ */
+ public static final int backgroundSplit=0x7f010031;
+ /** Specifies a background drawable for a second stacked row of the action bar.
+
May be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+
May be a color value, in the form of "#rgb", "#argb",
+"#rrggbb", or "#aarrggbb".
+ */
+ public static final int backgroundStacked=0x7f010030;
+ /** A style that may be applied to Buttons placed within a
+ LinearLayout with the style buttonBarStyle to form a button bar.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int buttonBarButtonStyle=0x7f010018;
+ /** A style that may be applied to horizontal LinearLayouts
+ to form a button bar.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int buttonBarStyle=0x7f010017;
+ /** Specifies a layout for custom navigation. Overrides navigationMode.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int customNavigationLayout=0x7f010032;
+ /** Whether this spinner should mark child views as enabled/disabled when
+ the spinner itself is enabled/disabled.
+
Must be a boolean value, either "true" or "false".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int disableChildrenWhenDisabled=0x7f010054;
+ /** Options affecting how the action bar is displayed.
+
Must be one or more (separated by '|') of the following constant values.
+
+
+
+
+
Constant
Value
Description
+
useLogo
0x1
+
showHome
0x2
+
homeAsUp
0x4
+
showTitle
0x8
+
showCustom
0x10
+
disableHome
0x20
+
+ */
+ public static final int displayOptions=0x7f010028;
+ /** Specifies the drawable used for item dividers.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int divider=0x7f01002e;
+ /** A drawable that may be used as a horizontal divider between visual elements.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int dividerHorizontal=0x7f01001b;
+ /** Size of padding on either end of a divider.
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int dividerPadding=0x7f010056;
+ /** A drawable that may be used as a vertical divider between visual elements.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int dividerVertical=0x7f01001a;
+ /** ListPopupWindow comaptibility
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int dropDownListViewStyle=0x7f010021;
+ /** The preferred item height for dropdown lists.
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int dropdownListPreferredItemHeight=0x7f010048;
+ /** The drawable to show in the button for expanding the activities overflow popup.
+ Note: Clients would like to set this drawable
+ as a clue about the action the chosen activity will perform. For
+ example, if share activity is to be chosen the drawable should
+ give a clue that sharing is to be performed.
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int expandActivityOverflowButtonDrawable=0x7f01006b;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int height=0x7f010026;
+ /** Specifies a drawable to use for the 'home as up' indicator.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int homeAsUpIndicator=0x7f010013;
+ /** Specifies a layout to use for the "home" section of the action bar.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int homeLayout=0x7f010033;
+ /** Specifies the drawable used for the application icon.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int icon=0x7f01002c;
+ /** The default state of the SearchView. If true, it will be iconified when not in
+ use and expanded when clicked.
+
Must be a boolean value, either "true" or "false".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int iconifiedByDefault=0x7f01005a;
+ /** Specifies a style resource to use for an indeterminate progress spinner.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int indeterminateProgressStyle=0x7f010035;
+ /** The maximal number of items initially shown in the activity list.
+
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int initialActivityCount=0x7f01006a;
+ /** Specifies whether the theme is light, otherwise it is dark.
+
Must be a boolean value, either "true" or "false".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int isLightTheme=0x7f010059;
+ /** Specifies padding that should be applied to the left and right sides of
+ system-provided items in the bar.
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int itemPadding=0x7f010037;
+ /** Drawable used as a background for selected list items.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int listChoiceBackgroundIndicator=0x7f01004c;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int listPopupWindowStyle=0x7f010022;
+ /** The preferred list item height.
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int listPreferredItemHeight=0x7f01001c;
+ /** A larger, more robust list item height.
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int listPreferredItemHeightLarge=0x7f01001e;
+ /** A smaller, sleeker list item height.
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int listPreferredItemHeightSmall=0x7f01001d;
+ /** The preferred padding along the left edge of list items.
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int listPreferredItemPaddingLeft=0x7f01001f;
+ /** The preferred padding along the right edge of list items.
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int listPreferredItemPaddingRight=0x7f010020;
+ /** Specifies the drawable used for the application logo.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int logo=0x7f01002d;
+ /** The type of navigation to use.
+
Must be one of the following constant values.
+
+
+
+
+
Constant
Value
Description
+
normal
0
Normal static title text
+
listMode
1
The action bar will use a selection list for navigation.
+
tabMode
2
The action bar will use a series of horizontal tabs for navigation.
+
+ */
+ public static final int navigationMode=0x7f010027;
+ /** Sets the padding, in pixels, of the end edge; see {@link android.R.attr#padding}.
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int paddingEnd=0x7f010039;
+ /** Sets the padding, in pixels, of the start edge; see {@link android.R.attr#padding}.
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int paddingStart=0x7f010038;
+ /** Default Panel Menu style.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int panelMenuListTheme=0x7f01004b;
+ /** Default Panel Menu width.
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int panelMenuListWidth=0x7f01004a;
+ /** Default PopupMenu style.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int popupMenuStyle=0x7f010049;
+ /** Reference to a layout to use for displaying a prompt in the dropdown for
+ spinnerMode="dropdown". This layout must contain a TextView with the id
+ {@code @android:id/text1} to be populated with the prompt text.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int popupPromptView=0x7f010053;
+ /** Specifies the horizontal padding on either end for an embedded progress bar.
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int progressBarPadding=0x7f010036;
+ /** Specifies a style resource to use for an embedded progress bar.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int progressBarStyle=0x7f010034;
+ /** The prompt to display when the spinner's dialog is shown.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int prompt=0x7f010051;
+ /** An optional query hint string to be displayed in the empty query field.
+
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int queryHint=0x7f01005b;
+ /** SearchView dropdown background
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int searchDropdownBackground=0x7f01005c;
+ /** The list item height for search results. @hide
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int searchResultListItemHeight=0x7f010065;
+ /** SearchView AutoCompleteTextView style
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int searchViewAutoCompleteTextView=0x7f010069;
+ /** SearchView close button icon
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int searchViewCloseIcon=0x7f01005d;
+ /** SearchView query refinement icon
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int searchViewEditQuery=0x7f010061;
+ /** SearchView query refinement icon background
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int searchViewEditQueryBackground=0x7f010062;
+ /** SearchView Go button icon
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int searchViewGoIcon=0x7f01005e;
+ /** SearchView Search icon
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int searchViewSearchIcon=0x7f01005f;
+ /** SearchView text field background for the left section
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int searchViewTextField=0x7f010063;
+ /** SearchView text field background for the right section
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int searchViewTextFieldRight=0x7f010064;
+ /** SearchView Voice button icon
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int searchViewVoiceIcon=0x7f010060;
+ /** A style that may be applied to buttons or other selectable items
+ that should react to pressed and focus states, but that do not
+ have a clear visual border along the edges.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int selectableItemBackground=0x7f010019;
+ /** How this item should display in the Action Bar, if present.
+
Must be one or more (separated by '|') of the following constant values.
+
+
+
+
+
Constant
Value
Description
+
never
0
Never show this item in an action bar, show it in the overflow menu instead.
+ Mutually exclusive with "ifRoom" and "always".
+
ifRoom
1
Show this item in an action bar if there is room for it as determined
+ by the system. Favor this option over "always" where possible.
+ Mutually exclusive with "never" and "always".
+
always
2
Always show this item in an actionbar, even if it would override
+ the system's limits of how much stuff to put there. This may make
+ your action bar look bad on some screens. In most cases you should
+ use "ifRoom" instead. Mutually exclusive with "ifRoom" and "never".
+
withText
4
When this item is shown as an action in the action bar, show a text
+ label with it even if it has an icon representation.
+
collapseActionView
8
This item's action view collapses to a normal menu
+ item. When expanded, the action view takes over a
+ larger segment of its container.
+
+ */
+ public static final int showAsAction=0x7f01004d;
+ /** Setting for which dividers to show.
+
Must be one or more (separated by '|') of the following constant values.
+
+
+
+
+
Constant
Value
Description
+
none
0
+
beginning
1
+
middle
2
+
end
4
+
+ */
+ public static final int showDividers=0x7f010055;
+ /** Default Spinner style.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int spinnerDropDownItemStyle=0x7f010058;
+ /** Display mode for spinner options.
+
Must be one of the following constant values.
+
+
+
+
+
Constant
Value
Description
+
dialog
0
Spinner options will be presented to the user as a dialog window.
+
dropdown
1
Spinner options will be presented to the user as an inline dropdown
+ anchored to the spinner widget itself.
+
+ */
+ public static final int spinnerMode=0x7f010052;
+ /** Default Spinner style.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int spinnerStyle=0x7f010057;
+ /** Specifies subtitle text used for navigationMode="normal"
+
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int subtitle=0x7f010029;
+ /** Specifies a style to use for subtitle text.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int subtitleTextStyle=0x7f01002b;
+ /** Present the text in ALL CAPS. This may use a small-caps form when available.
+
May be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+
May be a boolean value, either "true" or "false".
+ */
+ public static final int textAllCaps=0x7f01006d;
+ /** Text color, typeface, size, and style for the text inside of a popup menu.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int textAppearanceLargePopupMenu=0x7f010014;
+ /** The preferred TextAppearance for the primary text of list items.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int textAppearanceListItem=0x7f010023;
+ /** The preferred TextAppearance for the primary text of small list items.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int textAppearanceListItemSmall=0x7f010024;
+ /** Text color, typeface, size, and style for system search result subtitle. Defaults to primary inverse text color.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int textAppearanceSearchResultSubtitle=0x7f010067;
+ /** Text color, typeface, size, and style for system search result title. Defaults to primary inverse text color.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int textAppearanceSearchResultTitle=0x7f010066;
+ /** Text color, typeface, size, and style for small text inside of a popup menu.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int textAppearanceSmallPopupMenu=0x7f010015;
+ /** Text color for urls in search suggestions, used by things like global search
+
May be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+
May be a color value, in the form of "#rgb", "#argb",
+"#rrggbb", or "#aarrggbb".
+ */
+ public static final int textColorSearchUrl=0x7f010068;
+ /**
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int title=0x7f010025;
+ /** Specifies a style to use for title text.
+
Must be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+ */
+ public static final int titleTextStyle=0x7f01002a;
+ /**
Must be a boolean value, either "true" or "false".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int windowActionBar=0x7f010000;
+ /**
Must be a boolean value, either "true" or "false".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int windowActionBarOverlay=0x7f010001;
+ /** A fixed height for the window along the major axis of the screen,
+ that is, when in portrait. Can be either an absolute dimension
+ or a fraction of the screen size in that dimension.
+
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%".
+The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to
+some parent container.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int windowFixedHeightMajor=0x7f010006;
+ /** A fixed height for the window along the minor axis of the screen,
+ that is, when in landscape. Can be either an absolute dimension
+ or a fraction of the screen size in that dimension.
+
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%".
+The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to
+some parent container.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int windowFixedHeightMinor=0x7f010004;
+ /** A fixed width for the window along the major axis of the screen,
+ that is, when in landscape. Can be either an absolute dimension
+ or a fraction of the screen size in that dimension.
+
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%".
+The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to
+some parent container.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int windowFixedWidthMajor=0x7f010003;
+ /** A fixed width for the window along the minor axis of the screen,
+ that is, when in portrait. Can be either an absolute dimension
+ or a fraction of the screen size in that dimension.
+
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%".
+The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to
+some parent container.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int windowFixedWidthMinor=0x7f010005;
+ /**
Must be a boolean value, either "true" or "false".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ */
+ public static final int windowSplitActionBar=0x7f010002;
+ }
+ public static final class bool {
+ public static final int abc_action_bar_embed_tabs_pre_jb=0x7f080000;
+ public static final int abc_action_bar_expanded_action_views_exclusive=0x7f080001;
+ /** Whether action menu items should be displayed in ALLCAPS or not.
+ Defaults to true. If this is not appropriate for specific locales
+ it should be disabled in that locale's resources.
+ */
+ public static final int abc_config_actionMenuItemAllCaps=0x7f080005;
+ /** Whether action menu items should obey the "withText" showAsAction
+ flag. This may be set to false for situations where space is
+ extremely limited.
+ Whether action menu items should obey the "withText" showAsAction.
+ This may be set to false for situations where space is
+ extremely limited.
+ */
+ public static final int abc_config_allowActionMenuItemTextWithIcon=0x7f080004;
+ public static final int abc_config_showMenuShortcutsWhenKeyboardPresent=0x7f080003;
+ public static final int abc_split_action_bar_is_narrow=0x7f080002;
+ }
+ public static final class color {
+ public static final int abc_search_url_text_holo=0x7f09000e;
+ public static final int abc_search_url_text_normal=0x7f090000;
+ public static final int abc_search_url_text_pressed=0x7f090002;
+ public static final int abc_search_url_text_selected=0x7f090001;
+ public static final int contents_text=0x7f090003;
+ public static final int encode_view=0x7f090004;
+ public static final int possible_result_points=0x7f090005;
+ /** Android standard ICS color
+ */
+ public static final int result_minor_text=0x7f090006;
+ public static final int result_points=0x7f090007;
+ /** Android standard ICS color
+ */
+ public static final int result_text=0x7f090008;
+ public static final int result_view=0x7f090009;
+ public static final int status_text=0x7f09000a;
+ public static final int transparent=0x7f09000b;
+ public static final int viewfinder_laser=0x7f09000c;
+ /** Android standard ICS color
+ */
+ public static final int viewfinder_mask=0x7f09000d;
}
public static final class dimen {
+ /** Default height of an action bar.
+ Default height of an action bar.
+ Default height of an action bar.
+ Default height of an action bar.
+ Default height of an action bar.
+ */
+ public static final int abc_action_bar_default_height=0x7f0a0002;
+ /** Vertical padding around action bar icons.
+ Vertical padding around action bar icons.
+ Vertical padding around action bar icons.
+ Vertical padding around action bar icons.
+ Vertical padding around action bar icons.
+ */
+ public static final int abc_action_bar_icon_vertical_padding=0x7f0a0003;
+ /** Size of the indeterminate Progress Bar
+ Size of the indeterminate Progress Bar
+ */
+ public static final int abc_action_bar_progress_bar_size=0x7f0a000a;
+ /** Maximum height for a stacked tab bar as part of an action bar
+ */
+ public static final int abc_action_bar_stacked_max_height=0x7f0a0009;
+ /** Maximum width for a stacked action bar tab. This prevents
+ action bar tabs from becoming too wide on a wide screen when only
+ a few are present.
+ */
+ public static final int abc_action_bar_stacked_tab_max_width=0x7f0a0001;
+ /** Bottom margin for action bar subtitles
+ Bottom margin for action bar subtitles
+ Bottom margin for action bar subtitles
+ Bottom margin for action bar subtitles
+ Bottom margin for action bar subtitles
+ */
+ public static final int abc_action_bar_subtitle_bottom_margin=0x7f0a0007;
+ /** Text size for action bar subtitles
+ Text size for action bar subtitles
+ Text size for action bar subtitles
+ Text size for action bar subtitles
+ Text size for action bar subtitles
+ */
+ public static final int abc_action_bar_subtitle_text_size=0x7f0a0005;
+ /** Top margin for action bar subtitles
+ Top margin for action bar subtitles
+ Top margin for action bar subtitles
+ Top margin for action bar subtitles
+ Top margin for action bar subtitles
+ */
+ public static final int abc_action_bar_subtitle_top_margin=0x7f0a0006;
+ /** Text size for action bar titles
+ Text size for action bar titles
+ Text size for action bar titles
+ Text size for action bar titles
+ Text size for action bar titles
+ */
+ public static final int abc_action_bar_title_text_size=0x7f0a0004;
+ /** Minimum width for an action button in the menu area of an action bar
+ Minimum width for an action button in the menu area of an action bar
+ Minimum width for an action button in the menu area of an action bar
+ */
+ public static final int abc_action_button_min_width=0x7f0a0008;
+ /** The maximum width we would prefer dialogs to be. 0 if there is no
+ maximum (let them grow as large as the screen). Actual values are
+ specified for -large and -xlarge configurations.
+ see comment in values/config.xml
+ see comment in values/config.xml
+ */
+ public static final int abc_config_prefDialogWidth=0x7f0a0000;
+ /** Width of the icon in a dropdown list
+ */
+ public static final int abc_dropdownitem_icon_width=0x7f0a0010;
+ /** Text padding for dropdown items
+ */
+ public static final int abc_dropdownitem_text_padding_left=0x7f0a000e;
+ public static final int abc_dropdownitem_text_padding_right=0x7f0a000f;
+ public static final int abc_panel_menu_list_width=0x7f0a000b;
+ /** Preferred width of the search view.
+ */
+ public static final int abc_search_view_preferred_width=0x7f0a000d;
+ /** Minimum width of the search view text entry area.
+ Minimum width of the search view text entry area.
+ Minimum width of the search view text entry area.
+ Minimum width of the search view text entry area.
+ */
+ public static final int abc_search_view_text_min_width=0x7f0a000c;
/** Default screen margins, per the Android Design guidelines.
Example customization of dimensions originally defined in res/values/dimens.xml
(such as screen margins) for screens with more than 820dp of available width. This
would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively).
+
+ Example customization of dimensions originally defined in res/values/dimens.xml
+ (such as screen margins) for screens with more than 820dp of available width. This
+ would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively).
+
+ Default screen margins, per the Android Design guidelines.
*/
- public static final int activity_horizontal_margin=0x7f060000;
- public static final int activity_vertical_margin=0x7f060001;
+ public static final int activity_horizontal_margin=0x7f0a0015;
+ public static final int activity_vertical_margin=0x7f0a0016;
+ /** The platform's desired fixed height for a dialog along the major axis
+ (the screen is in portrait). This may be either a fraction or a dimension.
+ The platform's desired fixed height for a dialog along the major axis
+ (the screen is in portrait). This may be either a fraction or a dimension.
+ The platform's desired fixed height for a dialog along the major axis
+ (the screen is in portrait). This may be either a fraction or a dimension.
+ */
+ public static final int dialog_fixed_height_major=0x7f0a0013;
+ /** The platform's desired fixed height for a dialog along the minor axis
+ (the screen is in landscape). This may be either a fraction or a dimension.
+ The platform's desired fixed height for a dialog along the minor axis
+ (the screen is in landscape). This may be either a fraction or a dimension.
+ The platform's desired fixed height for a dialog along the minor axis
+ (the screen is in landscape). This may be either a fraction or a dimension.
+ */
+ public static final int dialog_fixed_height_minor=0x7f0a0014;
+ /** The platform's desired fixed width for a dialog along the major axis
+ (the screen is in landscape). This may be either a fraction or a dimension.
+ The platform's desired fixed width for a dialog along the major axis
+ (the screen is in landscape). This may be either a fraction or a dimension.
+ The platform's desired fixed width for a dialog along the major axis
+ (the screen is in landscape). This may be either a fraction or a dimension.
+ */
+ public static final int dialog_fixed_width_major=0x7f0a0011;
+ /** The platform's desired fixed width for a dialog along the minor axis
+ (the screen is in portrait). This may be either a fraction or a dimension.
+ The platform's desired fixed width for a dialog along the minor axis
+ (the screen is in portrait). This may be either a fraction or a dimension.
+ The platform's desired fixed width for a dialog along the minor axis
+ (the screen is in portrait). This may be either a fraction or a dimension.
+ */
+ public static final int dialog_fixed_width_minor=0x7f0a0012;
+ public static final int half_padding=0x7f0a0018;
+ public static final int standard_padding=0x7f0a0017;
}
public static final class drawable {
- public static final int ic_launcher=0x7f020000;
- public static final int qrcode=0x7f020001;
+ public static final int abc_ab_bottom_solid_dark_holo=0x7f020000;
+ public static final int abc_ab_bottom_solid_light_holo=0x7f020001;
+ public static final int abc_ab_bottom_transparent_dark_holo=0x7f020002;
+ public static final int abc_ab_bottom_transparent_light_holo=0x7f020003;
+ public static final int abc_ab_share_pack_holo_dark=0x7f020004;
+ public static final int abc_ab_share_pack_holo_light=0x7f020005;
+ public static final int abc_ab_solid_dark_holo=0x7f020006;
+ public static final int abc_ab_solid_light_holo=0x7f020007;
+ public static final int abc_ab_stacked_solid_dark_holo=0x7f020008;
+ public static final int abc_ab_stacked_solid_light_holo=0x7f020009;
+ public static final int abc_ab_stacked_transparent_dark_holo=0x7f02000a;
+ public static final int abc_ab_stacked_transparent_light_holo=0x7f02000b;
+ public static final int abc_ab_transparent_dark_holo=0x7f02000c;
+ public static final int abc_ab_transparent_light_holo=0x7f02000d;
+ public static final int abc_cab_background_bottom_holo_dark=0x7f02000e;
+ public static final int abc_cab_background_bottom_holo_light=0x7f02000f;
+ public static final int abc_cab_background_top_holo_dark=0x7f020010;
+ public static final int abc_cab_background_top_holo_light=0x7f020011;
+ public static final int abc_ic_ab_back_holo_dark=0x7f020012;
+ public static final int abc_ic_ab_back_holo_light=0x7f020013;
+ public static final int abc_ic_cab_done_holo_dark=0x7f020014;
+ public static final int abc_ic_cab_done_holo_light=0x7f020015;
+ public static final int abc_ic_clear=0x7f020016;
+ public static final int abc_ic_clear_disabled=0x7f020017;
+ public static final int abc_ic_clear_holo_light=0x7f020018;
+ public static final int abc_ic_clear_normal=0x7f020019;
+ public static final int abc_ic_clear_search_api_disabled_holo_light=0x7f02001a;
+ public static final int abc_ic_clear_search_api_holo_light=0x7f02001b;
+ public static final int abc_ic_commit_search_api_holo_dark=0x7f02001c;
+ public static final int abc_ic_commit_search_api_holo_light=0x7f02001d;
+ public static final int abc_ic_go=0x7f02001e;
+ public static final int abc_ic_go_search_api_holo_light=0x7f02001f;
+ public static final int abc_ic_menu_moreoverflow_normal_holo_dark=0x7f020020;
+ public static final int abc_ic_menu_moreoverflow_normal_holo_light=0x7f020021;
+ public static final int abc_ic_menu_share_holo_dark=0x7f020022;
+ public static final int abc_ic_menu_share_holo_light=0x7f020023;
+ public static final int abc_ic_search=0x7f020024;
+ public static final int abc_ic_search_api_holo_light=0x7f020025;
+ public static final int abc_ic_voice_search=0x7f020026;
+ public static final int abc_ic_voice_search_api_holo_light=0x7f020027;
+ public static final int abc_item_background_holo_dark=0x7f020028;
+ public static final int abc_item_background_holo_light=0x7f020029;
+ public static final int abc_list_divider_holo_dark=0x7f02002a;
+ public static final int abc_list_divider_holo_light=0x7f02002b;
+ public static final int abc_list_focused_holo=0x7f02002c;
+ public static final int abc_list_longpressed_holo=0x7f02002d;
+ public static final int abc_list_pressed_holo_dark=0x7f02002e;
+ public static final int abc_list_pressed_holo_light=0x7f02002f;
+ public static final int abc_list_selector_background_transition_holo_dark=0x7f020030;
+ public static final int abc_list_selector_background_transition_holo_light=0x7f020031;
+ public static final int abc_list_selector_disabled_holo_dark=0x7f020032;
+ public static final int abc_list_selector_disabled_holo_light=0x7f020033;
+ public static final int abc_list_selector_holo_dark=0x7f020034;
+ public static final int abc_list_selector_holo_light=0x7f020035;
+ public static final int abc_menu_dropdown_panel_holo_dark=0x7f020036;
+ public static final int abc_menu_dropdown_panel_holo_light=0x7f020037;
+ public static final int abc_menu_hardkey_panel_holo_dark=0x7f020038;
+ public static final int abc_menu_hardkey_panel_holo_light=0x7f020039;
+ public static final int abc_search_dropdown_dark=0x7f02003a;
+ public static final int abc_search_dropdown_light=0x7f02003b;
+ public static final int abc_spinner_ab_default_holo_dark=0x7f02003c;
+ public static final int abc_spinner_ab_default_holo_light=0x7f02003d;
+ public static final int abc_spinner_ab_disabled_holo_dark=0x7f02003e;
+ public static final int abc_spinner_ab_disabled_holo_light=0x7f02003f;
+ public static final int abc_spinner_ab_focused_holo_dark=0x7f020040;
+ public static final int abc_spinner_ab_focused_holo_light=0x7f020041;
+ public static final int abc_spinner_ab_holo_dark=0x7f020042;
+ public static final int abc_spinner_ab_holo_light=0x7f020043;
+ public static final int abc_spinner_ab_pressed_holo_dark=0x7f020044;
+ public static final int abc_spinner_ab_pressed_holo_light=0x7f020045;
+ public static final int abc_tab_indicator_ab_holo=0x7f020046;
+ public static final int abc_tab_selected_focused_holo=0x7f020047;
+ public static final int abc_tab_selected_holo=0x7f020048;
+ public static final int abc_tab_selected_pressed_holo=0x7f020049;
+ public static final int abc_tab_unselected_pressed_holo=0x7f02004a;
+ public static final int abc_textfield_search_default_holo_dark=0x7f02004b;
+ public static final int abc_textfield_search_default_holo_light=0x7f02004c;
+ public static final int abc_textfield_search_right_default_holo_dark=0x7f02004d;
+ public static final int abc_textfield_search_right_default_holo_light=0x7f02004e;
+ public static final int abc_textfield_search_right_selected_holo_dark=0x7f02004f;
+ public static final int abc_textfield_search_right_selected_holo_light=0x7f020050;
+ public static final int abc_textfield_search_selected_holo_dark=0x7f020051;
+ public static final int abc_textfield_search_selected_holo_light=0x7f020052;
+ public static final int abc_textfield_searchview_holo_dark=0x7f020053;
+ public static final int abc_textfield_searchview_holo_light=0x7f020054;
+ public static final int abc_textfield_searchview_right_holo_dark=0x7f020055;
+ public static final int abc_textfield_searchview_right_holo_light=0x7f020056;
+ public static final int ic_launcher=0x7f020057;
+ public static final int launcher_icon=0x7f020058;
+ public static final int qrcode=0x7f020059;
+ public static final int share_via_barcode=0x7f02005a;
}
public static final class id {
- public static final int cbIncludeLabel=0x7f080003;
- public static final int container=0x7f080000;
- public static final int expanded_image=0x7f080005;
- public static final int qrView=0x7f080002;
- public static final int spinner=0x7f080001;
- public static final int tvError=0x7f080004;
+ public static final int action_bar=0x7f070023;
+ public static final int action_bar_activity_content=0x7f070015;
+ public static final int action_bar_container=0x7f070022;
+ public static final int action_bar_overlay_layout=0x7f070026;
+ public static final int action_bar_root=0x7f070021;
+ public static final int action_bar_subtitle=0x7f07002a;
+ public static final int action_bar_title=0x7f070029;
+ public static final int action_context_bar=0x7f070024;
+ public static final int action_menu_divider=0x7f070016;
+ public static final int action_menu_presenter=0x7f070017;
+ public static final int action_mode_close_button=0x7f07002b;
+ public static final int action_settings=0x7f070070;
+ public static final int activity_chooser_view_content=0x7f07002c;
+ public static final int always=0x7f07000b;
+ public static final int app_picker_list_item_icon=0x7f070044;
+ public static final int app_picker_list_item_label=0x7f070045;
+ public static final int barcode_image_view=0x7f07004b;
+ public static final int beginning=0x7f070011;
+ public static final int bookmark_title=0x7f070046;
+ public static final int bookmark_url=0x7f070047;
+ public static final int cbIncludeLabel=0x7f070059;
+ public static final int checkbox=0x7f070034;
+ public static final int collapseActionView=0x7f07000d;
+ public static final int container=0x7f070043;
+ public static final int contents_supplement_text_view=0x7f070052;
+ public static final int contents_text_view=0x7f070051;
+ public static final int decode=0x7f07001a;
+ public static final int decode_failed=0x7f07001b;
+ public static final int decode_succeeded=0x7f07001c;
+ public static final int default_activity_button=0x7f07002f;
+ public static final int dialog=0x7f07000e;
+ public static final int disableHome=0x7f070008;
+ public static final int dropdown=0x7f07000f;
+ public static final int edit_query=0x7f070037;
+ public static final int end=0x7f070013;
+ public static final int expand_activities_button=0x7f07002d;
+ public static final int expanded_image=0x7f07005b;
+ public static final int expanded_menu=0x7f070033;
+ public static final int format_text_view=0x7f07004c;
+ public static final int hello=0x7f070056;
+ public static final int help_contents=0x7f07005c;
+ public static final int history_detail=0x7f07005e;
+ public static final int history_title=0x7f07005d;
+ public static final int home=0x7f070014;
+ public static final int homeAsUp=0x7f070005;
+ public static final int icon=0x7f070031;
+ public static final int ifRoom=0x7f07000a;
+ public static final int image=0x7f07002e;
+ public static final int image_view=0x7f070055;
+ public static final int launch_product_query=0x7f07001d;
+ public static final int listMode=0x7f070001;
+ public static final int list_item=0x7f070030;
+ public static final int menu_encode=0x7f07006d;
+ public static final int menu_help=0x7f07006c;
+ public static final int menu_history=0x7f07006a;
+ public static final int menu_history_clear_text=0x7f07006f;
+ public static final int menu_history_send=0x7f07006e;
+ public static final int menu_settings=0x7f07006b;
+ public static final int menu_share=0x7f070069;
+ public static final int meta_text_view=0x7f070050;
+ public static final int meta_text_view_label=0x7f07004f;
+ public static final int middle=0x7f070012;
+ public static final int never=0x7f070009;
+ public static final int none=0x7f070010;
+ public static final int normal=0x7f070000;
+ public static final int page_number_view=0x7f070062;
+ public static final int preview_view=0x7f070048;
+ public static final int progress_circular=0x7f070018;
+ public static final int progress_horizontal=0x7f070019;
+ public static final int qrView=0x7f070058;
+ public static final int query_button=0x7f070060;
+ public static final int query_text_view=0x7f07005f;
+ public static final int quit=0x7f07001e;
+ public static final int radio=0x7f070036;
+ public static final int restart_preview=0x7f07001f;
+ public static final int result_button_view=0x7f070053;
+ public static final int result_list_view=0x7f070061;
+ public static final int result_view=0x7f07004a;
+ public static final int return_scan_result=0x7f070020;
+ public static final int search_badge=0x7f070039;
+ public static final int search_bar=0x7f070038;
+ public static final int search_button=0x7f07003a;
+ public static final int search_close_btn=0x7f07003f;
+ public static final int search_edit_frame=0x7f07003b;
+ public static final int search_go_btn=0x7f070041;
+ public static final int search_mag_icon=0x7f07003c;
+ public static final int search_plate=0x7f07003d;
+ public static final int search_src_text=0x7f07003e;
+ public static final int search_voice_btn=0x7f070042;
+ public static final int share_app_button=0x7f070064;
+ public static final int share_bookmark_button=0x7f070065;
+ public static final int share_clipboard_button=0x7f070067;
+ public static final int share_contact_button=0x7f070066;
+ public static final int share_text_view=0x7f070068;
+ public static final int shortcut=0x7f070035;
+ public static final int showCustom=0x7f070007;
+ public static final int showHome=0x7f070004;
+ public static final int showTitle=0x7f070006;
+ public static final int snippet_view=0x7f070063;
+ public static final int spinner=0x7f070057;
+ public static final int split_action_bar=0x7f070025;
+ public static final int status_view=0x7f070054;
+ public static final int submit_area=0x7f070040;
+ public static final int tabMode=0x7f070002;
+ public static final int time_text_view=0x7f07004e;
+ public static final int title=0x7f070032;
+ public static final int top_action_bar=0x7f070027;
+ public static final int tvError=0x7f07005a;
+ public static final int type_text_view=0x7f07004d;
+ public static final int up=0x7f070028;
+ public static final int useLogo=0x7f070003;
+ public static final int viewfinder_view=0x7f070049;
+ public static final int withText=0x7f07000c;
+ }
+ public static final class integer {
+ /** The maximum number of action buttons that should be permitted within
+ an action bar/action mode. This will be used to determine how many
+ showAsAction="ifRoom" items can fit. "always" items can override this.
+ The maximum number of action buttons that should be permitted within
+ an action bar/action mode. This will be used to determine how many
+ showAsAction="ifRoom" items can fit. "always" items can override this.
+ The maximum number of action buttons that should be permitted within
+ an action bar/action mode. This will be used to determine how many
+ showAsAction="ifRoom" items can fit. "always" items can override this.
+ The maximum number of action buttons that should be permitted within
+ an action bar/action mode. This will be used to determine how many
+ showAsAction="ifRoom" items can fit. "always" items can override this.
+ The maximum number of action buttons that should be permitted within
+ an action bar/action mode. This will be used to determine how many
+ showAsAction="ifRoom" items can fit. "always" items can override this.
+ The maximum number of action buttons that should be permitted within
+ an action bar/action mode. This will be used to determine how many
+ showAsAction="ifRoom" items can fit. "always" items can override this.
+ The maximum number of action buttons that should be permitted within
+ an action bar/action mode. This will be used to determine how many
+ showAsAction="ifRoom" items can fit. "always" items can override this.
+ */
+ public static final int abc_max_action_buttons=0x7f0b0000;
}
public static final class layout {
- public static final int activity_qr=0x7f030000;
- public static final int fragment_qr=0x7f030001;
+ public static final int abc_action_bar_decor=0x7f030000;
+ public static final int abc_action_bar_decor_include=0x7f030001;
+ public static final int abc_action_bar_decor_overlay=0x7f030002;
+ public static final int abc_action_bar_home=0x7f030003;
+ public static final int abc_action_bar_tab=0x7f030004;
+ public static final int abc_action_bar_tabbar=0x7f030005;
+ public static final int abc_action_bar_title_item=0x7f030006;
+ public static final int abc_action_bar_view_list_nav_layout=0x7f030007;
+ public static final int abc_action_menu_item_layout=0x7f030008;
+ public static final int abc_action_menu_layout=0x7f030009;
+ public static final int abc_action_mode_bar=0x7f03000a;
+ public static final int abc_action_mode_close_item=0x7f03000b;
+ public static final int abc_activity_chooser_view=0x7f03000c;
+ public static final int abc_activity_chooser_view_include=0x7f03000d;
+ public static final int abc_activity_chooser_view_list_item=0x7f03000e;
+ public static final int abc_expanded_menu_layout=0x7f03000f;
+ public static final int abc_list_menu_item_checkbox=0x7f030010;
+ public static final int abc_list_menu_item_icon=0x7f030011;
+ public static final int abc_list_menu_item_layout=0x7f030012;
+ public static final int abc_list_menu_item_radio=0x7f030013;
+ public static final int abc_popup_menu_item_layout=0x7f030014;
+ public static final int abc_search_dropdown_item_icons_2line=0x7f030015;
+ public static final int abc_search_view=0x7f030016;
+ public static final int abc_simple_decor=0x7f030017;
+ public static final int activity_main=0x7f030018;
+ public static final int activity_qr=0x7f030019;
+ public static final int app_picker_list_item=0x7f03001a;
+ public static final int bookmark_picker_list_item=0x7f03001b;
+ public static final int capture=0x7f03001c;
+ public static final int encode=0x7f03001d;
+ public static final int fragment_main=0x7f03001e;
+ public static final int fragment_qr=0x7f03001f;
+ public static final int help=0x7f030020;
+ public static final int history_list_item=0x7f030021;
+ public static final int search_book_contents=0x7f030022;
+ public static final int search_book_contents_header=0x7f030023;
+ public static final int search_book_contents_list_item=0x7f030024;
+ public static final int share=0x7f030025;
+ public static final int support_simple_spinner_dropdown_item=0x7f030026;
}
public static final class menu {
- public static final int qr=0x7f070000;
+ public static final int capture=0x7f0f0000;
+ public static final int encode=0x7f0f0001;
+ public static final int history=0x7f0f0002;
+ public static final int main=0x7f0f0003;
+ public static final int qr=0x7f0f0004;
+ }
+ public static final class raw {
+ public static final int beep=0x7f060000;
}
public static final class string {
- public static final int action_settings=0x7f040002;
- public static final int action_show_qr=0x7f040003;
- public static final int all_fields=0x7f040005;
- public static final int app_name=0x7f040000;
- public static final int include_label=0x7f040004;
- public static final int kp2aplugin_author=0x7f040008;
- public static final int kp2aplugin_shortdesc=0x7f040007;
- public static final int kp2aplugin_title=0x7f040006;
- public static final int title_activity_qr=0x7f040001;
+ /** Content description for the action bar "home" affordance. [CHAR LIMIT=NONE]
+ */
+ public static final int abc_action_bar_home_description=0x7f0c0001;
+ /** Content description for the action bar "up" affordance. [CHAR LIMIT=NONE]
+ */
+ public static final int abc_action_bar_up_description=0x7f0c0002;
+ /** Content description for the action menu overflow button. [CHAR LIMIT=NONE]
+ */
+ public static final int abc_action_menu_overflow_description=0x7f0c0003;
+ /** Label for the "Done" button on the far left of action mode toolbars.
+ */
+ public static final int abc_action_mode_done=0x7f0c0000;
+ /** Title for a button to expand the list of activities in ActivityChooserView [CHAR LIMIT=25]
+ */
+ public static final int abc_activity_chooser_view_see_all=0x7f0c000a;
+ /** ActivityChooserView - accessibility support
+ Description of the shwoing of a popup window with activities to choose from. [CHAR LIMIT=NONE]
+ */
+ public static final int abc_activitychooserview_choose_application=0x7f0c0009;
+ /** SearchView accessibility description for clear button [CHAR LIMIT=NONE]
+ */
+ public static final int abc_searchview_description_clear=0x7f0c0006;
+ /** SearchView accessibility description for search text field [CHAR LIMIT=NONE]
+ */
+ public static final int abc_searchview_description_query=0x7f0c0005;
+ /** SearchView accessibility description for search button [CHAR LIMIT=NONE]
+ */
+ public static final int abc_searchview_description_search=0x7f0c0004;
+ /** SearchView accessibility description for submit button [CHAR LIMIT=NONE]
+ */
+ public static final int abc_searchview_description_submit=0x7f0c0007;
+ /** SearchView accessibility description for voice button [CHAR LIMIT=NONE]
+ */
+ public static final int abc_searchview_description_voice=0x7f0c0008;
+ /** Description of the choose target button in a ShareActionProvider (share UI). [CHAR LIMIT=NONE]
+ */
+ public static final int abc_shareactionprovider_share_with=0x7f0c000c;
+ /** Description of a share target (both in the list of such or the default share button) in a ShareActionProvider (share UI). [CHAR LIMIT=NONE]
+ */
+ public static final int abc_shareactionprovider_share_with_application=0x7f0c000b;
+ public static final int action_settings=0x7f0c0010;
+ public static final int action_show_qr=0x7f0c0087;
+ public static final int all_fields=0x7f0c0089;
+ public static final int app_name=0x7f0c000d;
+ public static final int app_picker_name=0x7f0c0011;
+ public static final int bookmark_picker_name=0x7f0c0012;
+ public static final int button_add_calendar=0x7f0c0013;
+ public static final int button_add_contact=0x7f0c0014;
+ public static final int button_book_search=0x7f0c0015;
+ public static final int button_cancel=0x7f0c0016;
+ public static final int button_custom_product_search=0x7f0c0017;
+ public static final int button_dial=0x7f0c0018;
+ public static final int button_email=0x7f0c0019;
+ public static final int button_get_directions=0x7f0c001a;
+ public static final int button_mms=0x7f0c001b;
+ public static final int button_ok=0x7f0c001c;
+ public static final int button_open_browser=0x7f0c001d;
+ public static final int button_product_search=0x7f0c001e;
+ public static final int button_search_book_contents=0x7f0c001f;
+ public static final int button_share_app=0x7f0c0020;
+ public static final int button_share_bookmark=0x7f0c0021;
+ public static final int button_share_by_email=0x7f0c0022;
+ public static final int button_share_by_sms=0x7f0c0023;
+ public static final int button_share_clipboard=0x7f0c0024;
+ public static final int button_share_contact=0x7f0c0025;
+ public static final int button_show_map=0x7f0c0026;
+ public static final int button_sms=0x7f0c0027;
+ public static final int button_web_search=0x7f0c0028;
+ public static final int button_wifi=0x7f0c0029;
+ public static final int contents_contact=0x7f0c002a;
+ public static final int contents_email=0x7f0c002b;
+ public static final int contents_location=0x7f0c002c;
+ public static final int contents_phone=0x7f0c002d;
+ public static final int contents_sms=0x7f0c002e;
+ public static final int contents_text=0x7f0c002f;
+ public static final int hello_world=0x7f0c000f;
+ public static final int history_clear_one_history_text=0x7f0c0031;
+ public static final int history_clear_text=0x7f0c0030;
+ public static final int history_email_title=0x7f0c0032;
+ public static final int history_empty=0x7f0c0033;
+ public static final int history_empty_detail=0x7f0c0034;
+ public static final int history_send=0x7f0c0035;
+ public static final int history_title=0x7f0c0036;
+ public static final int include_label=0x7f0c0088;
+ public static final int kp2aplugin_author=0x7f0c008c;
+ public static final int kp2aplugin_shortdesc=0x7f0c008b;
+ public static final int kp2aplugin_title=0x7f0c008a;
+ public static final int menu_encode_mecard=0x7f0c0037;
+ public static final int menu_encode_vcard=0x7f0c0038;
+ public static final int menu_help=0x7f0c0039;
+ public static final int menu_history=0x7f0c003a;
+ public static final int menu_settings=0x7f0c003b;
+ public static final int menu_share=0x7f0c003c;
+ public static final int msg_bulk_mode_scanned=0x7f0c003d;
+ public static final int msg_camera_framework_bug=0x7f0c003e;
+ public static final int msg_default_format=0x7f0c003f;
+ public static final int msg_default_meta=0x7f0c0040;
+ public static final int msg_default_mms_subject=0x7f0c0041;
+ public static final int msg_default_status=0x7f0c0042;
+ public static final int msg_default_time=0x7f0c0043;
+ public static final int msg_default_type=0x7f0c0044;
+ public static final int msg_encode_contents_failed=0x7f0c0045;
+ public static final int msg_google_books=0x7f0c0046;
+ public static final int msg_google_product=0x7f0c0047;
+ public static final int msg_intent_failed=0x7f0c0048;
+ public static final int msg_redirect=0x7f0c0049;
+ public static final int msg_sbc_book_not_searchable=0x7f0c004a;
+ public static final int msg_sbc_failed=0x7f0c004b;
+ public static final int msg_sbc_no_page_returned=0x7f0c004c;
+ public static final int msg_sbc_page=0x7f0c004d;
+ public static final int msg_sbc_results=0x7f0c004e;
+ public static final int msg_sbc_searching_book=0x7f0c004f;
+ public static final int msg_sbc_snippet_unavailable=0x7f0c0050;
+ public static final int msg_share_explanation=0x7f0c0051;
+ public static final int msg_share_text=0x7f0c0052;
+ public static final int msg_sure=0x7f0c0053;
+ public static final int msg_unmount_usb=0x7f0c0054;
+ public static final int preferences_actions_title=0x7f0c0055;
+ public static final int preferences_auto_focus_title=0x7f0c0056;
+ public static final int preferences_bulk_mode_summary=0x7f0c0057;
+ public static final int preferences_bulk_mode_title=0x7f0c0058;
+ public static final int preferences_copy_to_clipboard_title=0x7f0c0059;
+ public static final int preferences_custom_product_search_summary=0x7f0c005a;
+ public static final int preferences_custom_product_search_title=0x7f0c005b;
+ public static final int preferences_decode_1D_title=0x7f0c005c;
+ public static final int preferences_decode_Data_Matrix_title=0x7f0c005d;
+ public static final int preferences_decode_QR_title=0x7f0c005e;
+ public static final int preferences_device_bug_workarounds_title=0x7f0c005f;
+ public static final int preferences_disable_continuous_focus_summary=0x7f0c0060;
+ public static final int preferences_disable_continuous_focus_title=0x7f0c0061;
+ public static final int preferences_disable_exposure_title=0x7f0c0062;
+ public static final int preferences_front_light_auto=0x7f0c0065;
+ public static final int preferences_front_light_off=0x7f0c0066;
+ public static final int preferences_front_light_on=0x7f0c0067;
+ public static final int preferences_front_light_summary=0x7f0c0063;
+ public static final int preferences_front_light_title=0x7f0c0064;
+ public static final int preferences_general_title=0x7f0c0068;
+ public static final int preferences_invert_scan_summary=0x7f0c006a;
+ public static final int preferences_invert_scan_title=0x7f0c0069;
+ public static final int preferences_name=0x7f0c006b;
+ public static final int preferences_play_beep_title=0x7f0c006c;
+ public static final int preferences_remember_duplicates_summary=0x7f0c006d;
+ public static final int preferences_remember_duplicates_title=0x7f0c006e;
+ public static final int preferences_result_title=0x7f0c006f;
+ public static final int preferences_scanning_title=0x7f0c0070;
+ public static final int preferences_search_country=0x7f0c0071;
+ public static final int preferences_supplemental_summary=0x7f0c0074;
+ public static final int preferences_supplemental_title=0x7f0c0075;
+ public static final int preferences_try_bsplus=0x7f0c0072;
+ public static final int preferences_try_bsplus_summary=0x7f0c0073;
+ public static final int preferences_vibrate_title=0x7f0c0076;
+ public static final int result_address_book=0x7f0c0077;
+ public static final int result_calendar=0x7f0c0078;
+ public static final int result_email_address=0x7f0c0079;
+ public static final int result_geo=0x7f0c007a;
+ public static final int result_isbn=0x7f0c007b;
+ public static final int result_product=0x7f0c007c;
+ public static final int result_sms=0x7f0c007d;
+ public static final int result_tel=0x7f0c007e;
+ public static final int result_text=0x7f0c007f;
+ public static final int result_uri=0x7f0c0080;
+ public static final int result_wifi=0x7f0c0081;
+ public static final int sbc_name=0x7f0c0082;
+ public static final int title_activity_main=0x7f0c000e;
+ public static final int title_activity_qr=0x7f0c0086;
+ public static final int wifi_changing_network=0x7f0c0083;
+ public static final int wifi_ssid_label=0x7f0c0084;
+ public static final int wifi_type_label=0x7f0c0085;
}
public static final class style {
/**
@@ -82,12 +1504,1818 @@ public final class R {
backward-compatibility can go here.
*/
- public static final int AppBaseTheme=0x7f050000;
+ public static final int AppBaseTheme=0x7f0d008b;
/** Application theme.
All customizations that are NOT specific to a particular API-level can go here.
Application theme.
All customizations that are NOT specific to a particular API-level can go here.
*/
- public static final int AppTheme=0x7f050001;
+ public static final int AppTheme=0x7f0d008c;
+ public static final int CaptureTheme=0x7f0d008f;
+ public static final int ResultButton=0x7f0d008d;
+ public static final int ShareButton=0x7f0d008e;
+ /** Mimic text appearance in select_dialog_item.xml
+ */
+ public static final int TextAppearance_AppCompat_Base_CompactMenu_Dialog=0x7f0d0063;
+ public static final int TextAppearance_AppCompat_Base_SearchResult=0x7f0d006d;
+ public static final int TextAppearance_AppCompat_Base_SearchResult_Subtitle=0x7f0d006f;
+ /** Search View result styles
+ */
+ public static final int TextAppearance_AppCompat_Base_SearchResult_Title=0x7f0d006e;
+ public static final int TextAppearance_AppCompat_Base_Widget_PopupMenu_Large=0x7f0d0069;
+ public static final int TextAppearance_AppCompat_Base_Widget_PopupMenu_Small=0x7f0d006a;
+ public static final int TextAppearance_AppCompat_Light_Base_SearchResult=0x7f0d0070;
+ public static final int TextAppearance_AppCompat_Light_Base_SearchResult_Subtitle=0x7f0d0072;
+ /**
+ TextAppearance.Holo.Light.SearchResult.* are private so we extend from the default
+ versions instead (which are exactly the same).
+
+ */
+ public static final int TextAppearance_AppCompat_Light_Base_SearchResult_Title=0x7f0d0071;
+ public static final int TextAppearance_AppCompat_Light_Base_Widget_PopupMenu_Large=0x7f0d006b;
+ public static final int TextAppearance_AppCompat_Light_Base_Widget_PopupMenu_Small=0x7f0d006c;
+ public static final int TextAppearance_AppCompat_Light_SearchResult_Subtitle=0x7f0d0035;
+ public static final int TextAppearance_AppCompat_Light_SearchResult_Title=0x7f0d0034;
+ public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large=0x7f0d0030;
+ public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small=0x7f0d0031;
+ public static final int TextAppearance_AppCompat_SearchResult_Subtitle=0x7f0d0033;
+ public static final int TextAppearance_AppCompat_SearchResult_Title=0x7f0d0032;
+ public static final int TextAppearance_AppCompat_Widget_ActionBar_Menu=0x7f0d001a;
+ public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle=0x7f0d0006;
+ public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse=0x7f0d0008;
+ public static final int TextAppearance_AppCompat_Widget_ActionBar_Title=0x7f0d0005;
+ public static final int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse=0x7f0d0007;
+ public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle=0x7f0d001e;
+ public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse=0x7f0d0020;
+ public static final int TextAppearance_AppCompat_Widget_ActionMode_Title=0x7f0d001d;
+ public static final int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse=0x7f0d001f;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Menu=0x7f0d0054;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Subtitle=0x7f0d0056;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Subtitle_Inverse=0x7f0d0058;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Title=0x7f0d0055;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Title_Inverse=0x7f0d0057;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Subtitle=0x7f0d0051;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Subtitle_Inverse=0x7f0d0053;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Title=0x7f0d0050;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Title_Inverse=0x7f0d0052;
+ public static final int TextAppearance_AppCompat_Widget_Base_DropDownItem=0x7f0d0061;
+ public static final int TextAppearance_AppCompat_Widget_DropDownItem=0x7f0d0021;
+ public static final int TextAppearance_AppCompat_Widget_PopupMenu_Large=0x7f0d002e;
+ public static final int TextAppearance_AppCompat_Widget_PopupMenu_Small=0x7f0d002f;
+ public static final int TextAppearance_Widget_AppCompat_Base_ExpandedMenu_Item=0x7f0d0062;
+ public static final int TextAppearance_Widget_AppCompat_ExpandedMenu_Item=0x7f0d0028;
+ /** Themes in the "Theme.AppCompat" family will contain an action bar by default.
+ If Holo themes are available on the current platform version they will be used.
+ A limited Holo-styled action bar will be provided on platform versions older
+ than 3.0. (API 11)
+
+ These theme declarations contain any version-independent specification. Items
+ that need to vary based on platform version should be defined in the corresponding
+ "Theme.Base" theme.
+ Platform-independent theme providing an action bar in a dark-themed activity.
+ */
+ public static final int Theme_AppCompat=0x7f0d0077;
+ /** Menu/item attributes
+ */
+ public static final int Theme_AppCompat_Base_CompactMenu=0x7f0d0083;
+ public static final int Theme_AppCompat_Base_CompactMenu_Dialog=0x7f0d0084;
+ /** Menu/item attributes
+ */
+ public static final int Theme_AppCompat_CompactMenu=0x7f0d007c;
+ public static final int Theme_AppCompat_CompactMenu_Dialog=0x7f0d007d;
+ public static final int Theme_AppCompat_DialogWhenLarge=0x7f0d007a;
+ /** Platform-independent theme providing an action bar in a light-themed activity.
+ */
+ public static final int Theme_AppCompat_Light=0x7f0d0078;
+ /** Platform-independent theme providing an action bar in a dark-themed activity.
+ */
+ public static final int Theme_AppCompat_Light_DarkActionBar=0x7f0d0079;
+ public static final int Theme_AppCompat_Light_DialogWhenLarge=0x7f0d007b;
+ /** Base platform-dependent theme
+ */
+ public static final int Theme_Base=0x7f0d007e;
+ /** Base platform-dependent theme providing an action bar in a dark-themed activity.
+ Base platform-dependent theme providing an action bar in a dark-themed activity.
+ */
+ public static final int Theme_Base_AppCompat=0x7f0d0080;
+ public static final int Theme_Base_AppCompat_Dialog_FixedSize=0x7f0d0087;
+ public static final int Theme_Base_AppCompat_Dialog_Light_FixedSize=0x7f0d0088;
+ public static final int Theme_Base_AppCompat_DialogWhenLarge=0x7f0d0085;
+ /**
+ As we have defined the theme in values-large (for compat) and values-large takes precedence
+ over values-v14, we need to reset back to the Holo parent in values-large-v14. As the themes
+ in values-v14 & values-large-v14 are exactly the same, these "double base" themes can be
+ inherited from in both values-v14 and values-large-v14.
+
+ */
+ public static final int Theme_Base_AppCompat_DialogWhenLarge_Base=0x7f0d0089;
+ /** Base platform-dependent theme providing an action bar in a light-themed activity.
+ Base platform-dependent theme providing an action bar in a light-themed activity.
+ */
+ public static final int Theme_Base_AppCompat_Light=0x7f0d0081;
+ /** Base platform-dependent theme providing a dark action bar in a light-themed activity.
+ Base platform-dependent theme providing a dark action bar in a light-themed activity.
+ */
+ public static final int Theme_Base_AppCompat_Light_DarkActionBar=0x7f0d0082;
+ public static final int Theme_Base_AppCompat_Light_DialogWhenLarge=0x7f0d0086;
+ public static final int Theme_Base_AppCompat_Light_DialogWhenLarge_Base=0x7f0d008a;
+ /** Base platform-dependent theme providing a light-themed activity.
+ */
+ public static final int Theme_Base_Light=0x7f0d007f;
+ /** Styles in here can be extended for customisation in your application. Each utilises
+ one of the Base styles. If Holo themes are available on the current platform version
+ they will be used instead of the compat styles.
+ */
+ public static final int Widget_AppCompat_ActionBar=0x7f0d0000;
+ public static final int Widget_AppCompat_ActionBar_Solid=0x7f0d0002;
+ public static final int Widget_AppCompat_ActionBar_TabBar=0x7f0d0011;
+ public static final int Widget_AppCompat_ActionBar_TabText=0x7f0d0017;
+ public static final int Widget_AppCompat_ActionBar_TabView=0x7f0d0014;
+ public static final int Widget_AppCompat_ActionButton=0x7f0d000b;
+ public static final int Widget_AppCompat_ActionButton_CloseMode=0x7f0d000d;
+ public static final int Widget_AppCompat_ActionButton_Overflow=0x7f0d000f;
+ public static final int Widget_AppCompat_ActionMode=0x7f0d001b;
+ public static final int Widget_AppCompat_ActivityChooserView=0x7f0d0038;
+ public static final int Widget_AppCompat_AutoCompleteTextView=0x7f0d0036;
+ public static final int Widget_AppCompat_Base_ActionBar=0x7f0d003a;
+ public static final int Widget_AppCompat_Base_ActionBar_Solid=0x7f0d003c;
+ public static final int Widget_AppCompat_Base_ActionBar_TabBar=0x7f0d0045;
+ public static final int Widget_AppCompat_Base_ActionBar_TabText=0x7f0d004b;
+ public static final int Widget_AppCompat_Base_ActionBar_TabView=0x7f0d0048;
+ /** Action Button Styles
+ */
+ public static final int Widget_AppCompat_Base_ActionButton=0x7f0d003f;
+ public static final int Widget_AppCompat_Base_ActionButton_CloseMode=0x7f0d0041;
+ public static final int Widget_AppCompat_Base_ActionButton_Overflow=0x7f0d0043;
+ public static final int Widget_AppCompat_Base_ActionMode=0x7f0d004e;
+ public static final int Widget_AppCompat_Base_ActivityChooserView=0x7f0d0075;
+ /** AutoCompleteTextView styles (for SearchView)
+ */
+ public static final int Widget_AppCompat_Base_AutoCompleteTextView=0x7f0d0073;
+ public static final int Widget_AppCompat_Base_DropDownItem_Spinner=0x7f0d005d;
+ /** Popup Menu
+ */
+ public static final int Widget_AppCompat_Base_ListPopupWindow=0x7f0d0065;
+ /** Spinner Widgets
+ */
+ public static final int Widget_AppCompat_Base_ListView_DropDown=0x7f0d005f;
+ public static final int Widget_AppCompat_Base_ListView_Menu=0x7f0d0064;
+ public static final int Widget_AppCompat_Base_PopupMenu=0x7f0d0067;
+ public static final int Widget_AppCompat_Base_ProgressBar=0x7f0d005a;
+ /** Progress Bar
+ */
+ public static final int Widget_AppCompat_Base_ProgressBar_Horizontal=0x7f0d0059;
+ /** Action Bar Spinner Widgets
+ */
+ public static final int Widget_AppCompat_Base_Spinner=0x7f0d005b;
+ public static final int Widget_AppCompat_DropDownItem_Spinner=0x7f0d0024;
+ public static final int Widget_AppCompat_Light_ActionBar=0x7f0d0001;
+ public static final int Widget_AppCompat_Light_ActionBar_Solid=0x7f0d0003;
+ public static final int Widget_AppCompat_Light_ActionBar_Solid_Inverse=0x7f0d0004;
+ public static final int Widget_AppCompat_Light_ActionBar_TabBar=0x7f0d0012;
+ public static final int Widget_AppCompat_Light_ActionBar_TabBar_Inverse=0x7f0d0013;
+ public static final int Widget_AppCompat_Light_ActionBar_TabText=0x7f0d0018;
+ public static final int Widget_AppCompat_Light_ActionBar_TabText_Inverse=0x7f0d0019;
+ public static final int Widget_AppCompat_Light_ActionBar_TabView=0x7f0d0015;
+ public static final int Widget_AppCompat_Light_ActionBar_TabView_Inverse=0x7f0d0016;
+ public static final int Widget_AppCompat_Light_ActionButton=0x7f0d000c;
+ public static final int Widget_AppCompat_Light_ActionButton_CloseMode=0x7f0d000e;
+ public static final int Widget_AppCompat_Light_ActionButton_Overflow=0x7f0d0010;
+ public static final int Widget_AppCompat_Light_ActionMode_Inverse=0x7f0d001c;
+ public static final int Widget_AppCompat_Light_ActivityChooserView=0x7f0d0039;
+ public static final int Widget_AppCompat_Light_AutoCompleteTextView=0x7f0d0037;
+ public static final int Widget_AppCompat_Light_Base_ActionBar=0x7f0d003b;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_Solid=0x7f0d003d;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_Solid_Inverse=0x7f0d003e;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_TabBar=0x7f0d0046;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_TabBar_Inverse=0x7f0d0047;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_TabText=0x7f0d004c;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_TabText_Inverse=0x7f0d004d;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_TabView=0x7f0d0049;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_TabView_Inverse=0x7f0d004a;
+ public static final int Widget_AppCompat_Light_Base_ActionButton=0x7f0d0040;
+ public static final int Widget_AppCompat_Light_Base_ActionButton_CloseMode=0x7f0d0042;
+ public static final int Widget_AppCompat_Light_Base_ActionButton_Overflow=0x7f0d0044;
+ public static final int Widget_AppCompat_Light_Base_ActionMode_Inverse=0x7f0d004f;
+ public static final int Widget_AppCompat_Light_Base_ActivityChooserView=0x7f0d0076;
+ public static final int Widget_AppCompat_Light_Base_AutoCompleteTextView=0x7f0d0074;
+ public static final int Widget_AppCompat_Light_Base_DropDownItem_Spinner=0x7f0d005e;
+ public static final int Widget_AppCompat_Light_Base_ListPopupWindow=0x7f0d0066;
+ public static final int Widget_AppCompat_Light_Base_ListView_DropDown=0x7f0d0060;
+ public static final int Widget_AppCompat_Light_Base_PopupMenu=0x7f0d0068;
+ public static final int Widget_AppCompat_Light_Base_Spinner=0x7f0d005c;
+ public static final int Widget_AppCompat_Light_DropDownItem_Spinner=0x7f0d0025;
+ public static final int Widget_AppCompat_Light_ListPopupWindow=0x7f0d002a;
+ public static final int Widget_AppCompat_Light_ListView_DropDown=0x7f0d0027;
+ public static final int Widget_AppCompat_Light_PopupMenu=0x7f0d002c;
+ public static final int Widget_AppCompat_Light_Spinner_DropDown_ActionBar=0x7f0d0023;
+ public static final int Widget_AppCompat_ListPopupWindow=0x7f0d0029;
+ public static final int Widget_AppCompat_ListView_DropDown=0x7f0d0026;
+ public static final int Widget_AppCompat_ListView_Menu=0x7f0d002d;
+ public static final int Widget_AppCompat_PopupMenu=0x7f0d002b;
+ public static final int Widget_AppCompat_ProgressBar=0x7f0d000a;
+ public static final int Widget_AppCompat_ProgressBar_Horizontal=0x7f0d0009;
+ public static final int Widget_AppCompat_Spinner_DropDown_ActionBar=0x7f0d0022;
}
+ public static final class xml {
+ public static final int preferences=0x7f050000;
+ }
+ public static final class styleable {
+ /** ============================================
+ Attributes used to style the Action Bar.
+ These should be set on your theme; the default actionBarStyle will
+ propagate them to the correct elements as needed.
+
+ Please Note: when overriding attributes for an ActionBar style
+ you must specify each attribute twice: once with the "android:"
+ namespace prefix and once without.
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:height
+ */
+ public static final int ActionBar_height = 1;
+ /**
+
+ @attr description
+ Specifies a layout to use for the "home" section of the action bar.
+
+
+
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:homeLayout
+ */
+ public static final int ActionBar_homeLayout = 14;
+ /**
+
+ @attr description
+ Specifies the drawable used for the application icon.
+
+
+
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:icon
+ */
+ public static final int ActionBar_icon = 7;
+ /**
+
+ @attr description
+ Specifies a style resource to use for an indeterminate progress spinner.
+
+
+
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:indeterminateProgressStyle
+ */
+ public static final int ActionBar_indeterminateProgressStyle = 16;
+ /**
+
+ @attr description
+ Specifies padding that should be applied to the left and right sides of
+ system-provided items in the bar.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:itemPadding
+ */
+ public static final int ActionBar_itemPadding = 18;
+ /**
+
+ @attr description
+ Specifies the drawable used for the application logo.
+
+
+
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:logo
+ */
+ public static final int ActionBar_logo = 8;
+ /**
+
+ @attr description
+ The type of navigation to use.
+
+
+
Must be one of the following constant values.
+
+
+
+
+
Constant
Value
Description
+
normal
0
Normal static title text
+
listMode
1
The action bar will use a selection list for navigation.
+
tabMode
2
The action bar will use a series of horizontal tabs for navigation.
+
+
This is a private symbol.
+ @attr name android:navigationMode
+ */
+ public static final int ActionBar_navigationMode = 2;
+ /**
+
+ @attr description
+ Specifies the horizontal padding on either end for an embedded progress bar.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:progressBarPadding
+ */
+ public static final int ActionBar_progressBarPadding = 17;
+ /**
+
+ @attr description
+ Specifies a style resource to use for an embedded progress bar.
+
+
+
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:progressBarStyle
+ */
+ public static final int ActionBar_progressBarStyle = 15;
+ /**
+
+ @attr description
+ Specifies subtitle text used for navigationMode="normal"
+
+
+
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:subtitle
+ */
+ public static final int ActionBar_subtitle = 4;
+ /**
+
+ @attr description
+ Specifies a style to use for subtitle text.
+
+
+
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:subtitleTextStyle
+ */
+ public static final int ActionBar_subtitleTextStyle = 6;
+ /**
+
+ @attr description
+ Specifies title text used for navigationMode="normal"
+
+
+
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:title
+ */
+ public static final int ActionBar_title = 0;
+ /**
+
+ @attr description
+ Specifies a style to use for title text.
+
+
+
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:titleTextStyle
+ */
+ public static final int ActionBar_titleTextStyle = 5;
+ /** Valid LayoutParams for views placed in the action bar as custom views.
+
+ @see #ActionBarLayout_android_layout_gravity
+ */
+ public static final int[] ActionBarLayout = {
+ 0x010100b3
+ };
+ /**
+
This symbol is the offset where the {@link keepass2android.plugin.qr.R.attr#android_layout_gravity}
+ attribute's value can be found in the {@link #ActionBarLayout} array.
+ @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.
+ The system will read and apply them as needed. These attributes control
+ properties of the activity window, such as whether an action bar should
+ be present and whether it should overlay content.
+
This symbol is the offset where the {@link keepass2android.plugin.qr.R.attr#windowActionBar}
+ attribute's value can be found in the {@link #ActionBarWindow} array.
+
+
+
Must be a boolean value, either "true" or "false".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ @attr name android:windowActionBar
+ */
+ public static final int ActionBarWindow_windowActionBar = 0;
+ /**
+
This symbol is the offset where the {@link keepass2android.plugin.qr.R.attr#windowActionBarOverlay}
+ attribute's value can be found in the {@link #ActionBarWindow} array.
+
+
+
Must be a boolean value, either "true" or "false".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ @attr name android:windowActionBarOverlay
+ */
+ public static final int ActionBarWindow_windowActionBarOverlay = 1;
+ /**
+
+ @attr description
+ A fixed height for the window along the major axis of the screen,
+ that is, when in portrait. Can be either an absolute dimension
+ or a fraction of the screen size in that dimension.
+
+
+
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%".
+The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to
+some parent container.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:windowFixedHeightMajor
+ */
+ public static final int ActionBarWindow_windowFixedHeightMajor = 6;
+ /**
+
+ @attr description
+ A fixed height for the window along the minor axis of the screen,
+ that is, when in landscape. Can be either an absolute dimension
+ or a fraction of the screen size in that dimension.
+
+
+
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%".
+The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to
+some parent container.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:windowFixedHeightMinor
+ */
+ public static final int ActionBarWindow_windowFixedHeightMinor = 4;
+ /**
+
+ @attr description
+ A fixed width for the window along the major axis of the screen,
+ that is, when in landscape. Can be either an absolute dimension
+ or a fraction of the screen size in that dimension.
+
+
+
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%".
+The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to
+some parent container.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:windowFixedWidthMajor
+ */
+ public static final int ActionBarWindow_windowFixedWidthMajor = 3;
+ /**
+
+ @attr description
+ A fixed width for the window along the minor axis of the screen,
+ that is, when in portrait. Can be either an absolute dimension
+ or a fraction of the screen size in that dimension.
+
+
+
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%".
+The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to
+some parent container.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:windowFixedWidthMinor
+ */
+ public static final int ActionBarWindow_windowFixedWidthMinor = 5;
+ /**
+
This symbol is the offset where the {@link keepass2android.plugin.qr.R.attr#windowSplitActionBar}
+ attribute's value can be found in the {@link #ActionBarWindow} array.
+
+
+
Must be a boolean value, either "true" or "false".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+ @attr name android:windowSplitActionBar
+ */
+ public static final int ActionBarWindow_windowSplitActionBar = 2;
+ /** Attributes that can be used with a ActionMenuItemView.
+
+ @see #ActionMenuItemView_android_minWidth
+ */
+ public static final int[] ActionMenuItemView = {
+ 0x0101013f
+ };
+ /**
+
This symbol is the offset where the {@link keepass2android.plugin.qr.R.attr#android_minWidth}
+ attribute's value can be found in the {@link #ActionMenuItemView} array.
+ @attr name android:android_minWidth
+ */
+ public static final int ActionMenuItemView_android_minWidth = 0;
+ /** Size of padding on either end of a divider.
+ */
+ public static final int[] ActionMenuView = {
+
+ };
+ /** Attributes that can be used with a ActionMode.
+
+ @attr description
+ Specifies a background for the action mode bar.
+
+
+
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:background
+ */
+ public static final int ActionMode_background = 3;
+ /**
+
+ @attr description
+ Specifies a background for the split action mode bar.
+
+
+
May be a reference to another resource, in the form "@[+][package:]type:name"
+or to a theme attribute in the form "?[package:][type:]name".
+
May be a color value, in the form of "#rgb", "#argb",
+"#rrggbb", or "#aarrggbb".
+
This is a private symbol.
+ @attr name android:backgroundSplit
+ */
+ public static final int ActionMode_backgroundSplit = 4;
+ /**
+
+ @attr description
+ Specifies a fixed height for the action mode bar.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:height
+ */
+ public static final int ActionMode_height = 0;
+ /**
+
+ @attr description
+ Specifies a style to use for subtitle text.
+
+
+
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:subtitleTextStyle
+ */
+ public static final int ActionMode_subtitleTextStyle = 2;
+ /**
+
+ @attr description
+ Specifies a style to use for title text.
+
+
+
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:titleTextStyle
+ */
+ public static final int ActionMode_titleTextStyle = 1;
+ /** Attrbitutes for a ActivityChooserView.
+
+ @attr description
+ The drawable to show in the button for expanding the activities overflow popup.
+ Note: Clients would like to set this drawable
+ as a clue about the action the chosen activity will perform. For
+ example, if share activity is to be chosen the drawable should
+ give a clue that sharing is to be performed.
+
+
+
+
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:expandActivityOverflowButtonDrawable
+ */
+ public static final int ActivityChooserView_expandActivityOverflowButtonDrawable = 1;
+ /**
+
+ @attr description
+ The maximal number of items initially shown in the activity list.
+
+
+
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:initialActivityCount
+ */
+ public static final int ActivityChooserView_initialActivityCount = 0;
+ /** Attributes that can be used with a CompatTextView.
+
+ @see #CompatTextView_textAllCaps
+ */
+ public static final int[] CompatTextView = {
+ 0x7f01006d
+ };
+ /**
+
+ @attr description
+ Present the text in ALL CAPS. This may use a small-caps form when available.
+
+
+
May be a reference to another resource, in the form "@[+][package:]type:name"
+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:textAllCaps
+ */
+ public static final int CompatTextView_textAllCaps = 0;
+ /** Attributes that can be used with a LinearLayoutICS.
+
+ @attr description
+ Drawable to use as a vertical divider between buttons.
+
+
+
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:divider
+ */
+ public static final int LinearLayoutICS_divider = 0;
+ /**
+
+ @attr description
+ Size of padding on either end of a divider.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:dividerPadding
+ */
+ public static final int LinearLayoutICS_dividerPadding = 2;
+ /**
+
+ @attr description
+ Setting for which dividers to show.
+
+
+
Must be one or more (separated by '|') of the following constant values.
+
+
+
+
+
Constant
Value
Description
+
none
0
+
beginning
1
+
middle
2
+
end
4
+
+
This is a private symbol.
+ @attr name android:showDividers
+ */
+ public static final int LinearLayoutICS_showDividers = 1;
+ /** Base attributes that are available to all groups.
+
+ @attr description
+ Whether the items are capable of displaying a check mark.
+
This corresponds to the global attribute resource symbol {@link keepass2android.plugin.qr.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 keepass2android.plugin.qr.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 keepass2android.plugin.qr.R.attr#android_id}.
+ @attr name android:android_id
+ */
+ public static final int MenuGroup_android_id = 1;
+ /**
+
+ @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 keepass2android.plugin.qr.R.attr#android_menuCategory}.
+ @attr name android:android_menuCategory
+ */
+ public static final int MenuGroup_android_menuCategory = 3;
+ /**
+
+ @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 keepass2android.plugin.qr.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 keepass2android.plugin.qr.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.
+
+ @attr description
+ An optional layout to be used as an action view.
+ See {@link android.view.MenuItem#setActionView(android.view.View)}
+ for more info.
+
+
+
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:actionLayout
+ */
+ public static final int MenuItem_actionLayout = 14;
+ /**
+
+ @attr description
+ The name of an optional ActionProvider class to instantiate an action view
+ and perform operations such as default action for that menu item.
+ See {@link android.view.MenuItem#setActionProvider(android.view.ActionProvider)}
+ for more info.
+
+
+
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:actionProviderClass
+ */
+ public static final int MenuItem_actionProviderClass = 16;
+ /**
+
+ @attr description
+ The name of an optional View class to instantiate and use as an
+ action view. See {@link android.view.MenuItem#setActionView(android.view.View)}
+ for more info.
+
+
+
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:actionViewClass
+ */
+ public static final int MenuItem_actionViewClass = 15;
+ /**
+
+ @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 keepass2android.plugin.qr.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 keepass2android.plugin.qr.R.attr#android_checkable}.
+ @attr name android:android_checkable
+ */
+ public static final int MenuItem_android_checkable = 11;
+ /**
+
+ @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 keepass2android.plugin.qr.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 keepass2android.plugin.qr.R.attr#android_enabled}.
+ @attr name android:android_enabled
+ */
+ public static final int MenuItem_android_enabled = 1;
+ /**
+
+ @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 keepass2android.plugin.qr.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 keepass2android.plugin.qr.R.attr#android_id}.
+ @attr name android:android_id
+ */
+ public static final int MenuItem_android_id = 2;
+ /**
+
+ @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 keepass2android.plugin.qr.R.attr#android_menuCategory}.
+ @attr name android:android_menuCategory
+ */
+ public static final int MenuItem_android_menuCategory = 5;
+ /**
+
+ @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 keepass2android.plugin.qr.R.attr#android_numericShortcut}.
+ @attr name android:android_numericShortcut
+ */
+ public static final int MenuItem_android_numericShortcut = 10;
+ /**
+
+ @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 keepass2android.plugin.qr.R.attr#android_onClick}.
+ @attr name android:android_onClick
+ */
+ public static final int MenuItem_android_onClick = 12;
+ /**
+
+ @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 keepass2android.plugin.qr.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 keepass2android.plugin.qr.R.attr#android_title}.
+ @attr name android:android_title
+ */
+ public static final int MenuItem_android_title = 7;
+ /**
+
+ @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 keepass2android.plugin.qr.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 keepass2android.plugin.qr.R.attr#android_visible}.
+ @attr name android:android_visible
+ */
+ public static final int MenuItem_android_visible = 4;
+ /**
+
+ @attr description
+ How this item should display in the Action Bar, if present.
+
+
+
Must be one or more (separated by '|') of the following constant values.
+
+
+
+
+
Constant
Value
Description
+
never
0
Never show this item in an action bar, show it in the overflow menu instead.
+ Mutually exclusive with "ifRoom" and "always".
+
ifRoom
1
Show this item in an action bar if there is room for it as determined
+ by the system. Favor this option over "always" where possible.
+ Mutually exclusive with "never" and "always".
+
always
2
Always show this item in an actionbar, even if it would override
+ the system's limits of how much stuff to put there. This may make
+ your action bar look bad on some screens. In most cases you should
+ use "ifRoom" instead. Mutually exclusive with "ifRoom" and "never".
+
withText
4
When this item is shown as an action in the action bar, show a text
+ label with it even if it has an icon representation.
+
collapseActionView
8
This item's action view collapses to a normal menu
+ item. When expanded, the action view takes over a
+ larger segment of its container.
+
+
This is a private symbol.
+ @attr name android:showAsAction
+ */
+ public static final int MenuItem_showAsAction = 13;
+ /** Attributes that can be used with a MenuView.
+
+ @attr description
+ Default background for the menu header.
+
This corresponds to the global attribute resource symbol {@link keepass2android.plugin.qr.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 keepass2android.plugin.qr.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 keepass2android.plugin.qr.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 keepass2android.plugin.qr.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 keepass2android.plugin.qr.R.attr#android_itemTextAppearance}.
+ @attr name android:android_itemTextAppearance
+ */
+ public static final int MenuView_android_itemTextAppearance = 1;
+ /**
+
+ @attr description
+ Whether space should be reserved in layout when an icon is missing.
+
This is a private symbol.
+ @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 keepass2android.plugin.qr.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 keepass2android.plugin.qr.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.
+
+ @attr description
+ The IME options to set on the query text field.
+
This corresponds to the global attribute resource symbol {@link keepass2android.plugin.qr.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 keepass2android.plugin.qr.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 keepass2android.plugin.qr.R.attr#android_maxWidth}.
+ @attr name android:android_maxWidth
+ */
+ public static final int SearchView_android_maxWidth = 0;
+ /**
+
+ @attr description
+ The default state of the SearchView. If true, it will be iconified when not in
+ use and expanded when clicked.
+
+
+
Must be a boolean value, either "true" or "false".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:iconifiedByDefault
+ */
+ public static final int SearchView_iconifiedByDefault = 3;
+ /**
+
+ @attr description
+ An optional query hint string to be displayed in the empty query field.
+
+
+
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:queryHint
+ */
+ public static final int SearchView_queryHint = 4;
+ /** Attributes that can be used with a Spinner.
+
+ @attr description
+ Horizontal offset from the spinner widget for positioning the dropdown
+ in spinnerMode="dropdown".
+
This corresponds to the global attribute resource symbol {@link keepass2android.plugin.qr.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 keepass2android.plugin.qr.R.attr#android_dropDownSelector}.
+ @attr name android:android_dropDownSelector
+ */
+ public static final int Spinner_android_dropDownSelector = 1;
+ /**
+
+ @attr description
+ Vertical offset from the spinner widget for positioning the dropdown in
+ spinnerMode="dropdown".
+
This corresponds to the global attribute resource symbol {@link keepass2android.plugin.qr.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 keepass2android.plugin.qr.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 keepass2android.plugin.qr.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 keepass2android.plugin.qr.R.attr#android_popupBackground}.
+ @attr name android:android_popupBackground
+ */
+ public static final int Spinner_android_popupBackground = 2;
+ /**
+
+ @attr description
+ Whether this spinner should mark child views as enabled/disabled when
+ the spinner itself is enabled/disabled.
+
+
+
Must be a boolean value, either "true" or "false".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:disableChildrenWhenDisabled
+ */
+ public static final int Spinner_disableChildrenWhenDisabled = 9;
+ /**
+
+ @attr description
+ Reference to a layout to use for displaying a prompt in the dropdown for
+ spinnerMode="dropdown". This layout must contain a TextView with the id
+ {@code @android:id/text1} to be populated with the prompt text.
+
+
+
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:popupPromptView
+ */
+ public static final int Spinner_popupPromptView = 8;
+ /**
+
+ @attr description
+ The prompt to display when the spinner's dialog is shown.
+
+
+
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:prompt
+ */
+ public static final int Spinner_prompt = 6;
+ /**
+
Spinner options will be presented to the user as a dialog window.
+
dropdown
1
Spinner options will be presented to the user as an inline dropdown
+ anchored to the spinner widget itself.
+
+
This is a private symbol.
+ @attr name android:spinnerMode
+ */
+ public static final int Spinner_spinnerMode = 7;
+ /** These are the standard attributes that make up a complete theme.
+
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:actionDropDownStyle
+ */
+ public static final int Theme_actionDropDownStyle = 0;
+ /**
+
+ @attr description
+ The preferred item height for dropdown lists.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:dropdownListPreferredItemHeight
+ */
+ public static final int Theme_dropdownListPreferredItemHeight = 1;
+ /**
+
+ @attr description
+ Drawable used as a background for selected list items.
+
+
+
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:listChoiceBackgroundIndicator
+ */
+ public static final int Theme_listChoiceBackgroundIndicator = 5;
+ /**
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:panelMenuListWidth
+ */
+ public static final int Theme_panelMenuListWidth = 3;
+ /**
+
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:popupMenuStyle
+ */
+ public static final int Theme_popupMenuStyle = 2;
+ /** Attributes that can be used with a View.
+
+ @attr description
+ Boolean that controls whether a view can take focus. By default the user can not
+ move focus to a view; by setting this attribute to true the view is
+ allowed to take focus. This value does not impact the behavior of
+ 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 keepass2android.plugin.qr.R.attr#android_focusable}.
+ @attr name android:android_focusable
+ */
+ public static final int View_android_focusable = 0;
+ /**
+
+ @attr description
+ Sets the padding, in pixels, of the end edge; see {@link android.R.attr#padding}.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:paddingEnd
+ */
+ public static final int View_paddingEnd = 2;
+ /**
+
+ @attr description
+ Sets the padding, in pixels, of the start edge; see {@link android.R.attr#padding}.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name") or
+theme attribute (in the form
+"?[package:][type:]name")
+containing a value of this type.
+
This is a private symbol.
+ @attr name android:paddingStart
+ */
+ public static final int View_paddingStart = 1;
+ };
}
diff --git a/src/java/PluginQR/gen/keepass2android/pluginsdk/R.java b/src/java/PluginQR/gen/keepass2android/pluginsdk/R.java
index 9d578f27..ad48229c 100644
--- a/src/java/PluginQR/gen/keepass2android/pluginsdk/R.java
+++ b/src/java/PluginQR/gen/keepass2android/pluginsdk/R.java
@@ -7,14 +7,623 @@
package keepass2android.pluginsdk;
public final class R {
+ public static final class anim {
+ public static final int abc_fade_in = 0x7f040000;
+ public static final int abc_fade_out = 0x7f040001;
+ public static final int abc_slide_in_bottom = 0x7f040002;
+ public static final int abc_slide_in_top = 0x7f040003;
+ public static final int abc_slide_out_bottom = 0x7f040004;
+ public static final int abc_slide_out_top = 0x7f040005;
+ }
+ public static final class attr {
+ public static final int actionBarDivider = 0x7f01000f;
+ public static final int actionBarItemBackground = 0x7f010010;
+ public static final int actionBarSize = 0x7f01000e;
+ public static final int actionBarSplitStyle = 0x7f01000c;
+ public static final int actionBarStyle = 0x7f01000b;
+ public static final int actionBarTabBarStyle = 0x7f010008;
+ public static final int actionBarTabStyle = 0x7f010007;
+ public static final int actionBarTabTextStyle = 0x7f010009;
+ public static final int actionBarWidgetTheme = 0x7f01000d;
+ public static final int actionButtonStyle = 0x7f010016;
+ public static final int actionDropDownStyle = 0x7f010047;
+ public static final int actionLayout = 0x7f01004e;
+ public static final int actionMenuTextAppearance = 0x7f010011;
+ public static final int actionMenuTextColor = 0x7f010012;
+ public static final int actionModeBackground = 0x7f01003c;
+ public static final int actionModeCloseButtonStyle = 0x7f01003b;
+ public static final int actionModeCloseDrawable = 0x7f01003e;
+ public static final int actionModeCopyDrawable = 0x7f010040;
+ public static final int actionModeCutDrawable = 0x7f01003f;
+ public static final int actionModeFindDrawable = 0x7f010044;
+ public static final int actionModePasteDrawable = 0x7f010041;
+ public static final int actionModePopupWindowStyle = 0x7f010046;
+ public static final int actionModeSelectAllDrawable = 0x7f010042;
+ public static final int actionModeShareDrawable = 0x7f010043;
+ public static final int actionModeSplitBackground = 0x7f01003d;
+ public static final int actionModeStyle = 0x7f01003a;
+ public static final int actionModeWebSearchDrawable = 0x7f010045;
+ public static final int actionOverflowButtonStyle = 0x7f01000a;
+ public static final int actionProviderClass = 0x7f010050;
+ public static final int actionViewClass = 0x7f01004f;
+ public static final int activityChooserViewStyle = 0x7f01006c;
+ public static final int background = 0x7f01002f;
+ public static final int backgroundSplit = 0x7f010031;
+ public static final int backgroundStacked = 0x7f010030;
+ public static final int buttonBarButtonStyle = 0x7f010018;
+ public static final int buttonBarStyle = 0x7f010017;
+ public static final int customNavigationLayout = 0x7f010032;
+ public static final int disableChildrenWhenDisabled = 0x7f010054;
+ public static final int displayOptions = 0x7f010028;
+ public static final int divider = 0x7f01002e;
+ public static final int dividerHorizontal = 0x7f01001b;
+ public static final int dividerPadding = 0x7f010056;
+ public static final int dividerVertical = 0x7f01001a;
+ public static final int dropDownListViewStyle = 0x7f010021;
+ public static final int dropdownListPreferredItemHeight = 0x7f010048;
+ public static final int expandActivityOverflowButtonDrawable = 0x7f01006b;
+ public static final int height = 0x7f010026;
+ public static final int homeAsUpIndicator = 0x7f010013;
+ public static final int homeLayout = 0x7f010033;
+ public static final int icon = 0x7f01002c;
+ public static final int iconifiedByDefault = 0x7f01005a;
+ public static final int indeterminateProgressStyle = 0x7f010035;
+ public static final int initialActivityCount = 0x7f01006a;
+ public static final int isLightTheme = 0x7f010059;
+ public static final int itemPadding = 0x7f010037;
+ public static final int listChoiceBackgroundIndicator = 0x7f01004c;
+ public static final int listPopupWindowStyle = 0x7f010022;
+ public static final int listPreferredItemHeight = 0x7f01001c;
+ public static final int listPreferredItemHeightLarge = 0x7f01001e;
+ public static final int listPreferredItemHeightSmall = 0x7f01001d;
+ public static final int listPreferredItemPaddingLeft = 0x7f01001f;
+ public static final int listPreferredItemPaddingRight = 0x7f010020;
+ public static final int logo = 0x7f01002d;
+ public static final int navigationMode = 0x7f010027;
+ public static final int paddingEnd = 0x7f010039;
+ public static final int paddingStart = 0x7f010038;
+ public static final int panelMenuListTheme = 0x7f01004b;
+ public static final int panelMenuListWidth = 0x7f01004a;
+ public static final int popupMenuStyle = 0x7f010049;
+ public static final int popupPromptView = 0x7f010053;
+ public static final int progressBarPadding = 0x7f010036;
+ public static final int progressBarStyle = 0x7f010034;
+ public static final int prompt = 0x7f010051;
+ public static final int queryHint = 0x7f01005b;
+ public static final int searchDropdownBackground = 0x7f01005c;
+ public static final int searchResultListItemHeight = 0x7f010065;
+ public static final int searchViewAutoCompleteTextView = 0x7f010069;
+ public static final int searchViewCloseIcon = 0x7f01005d;
+ public static final int searchViewEditQuery = 0x7f010061;
+ public static final int searchViewEditQueryBackground = 0x7f010062;
+ public static final int searchViewGoIcon = 0x7f01005e;
+ public static final int searchViewSearchIcon = 0x7f01005f;
+ public static final int searchViewTextField = 0x7f010063;
+ public static final int searchViewTextFieldRight = 0x7f010064;
+ public static final int searchViewVoiceIcon = 0x7f010060;
+ public static final int selectableItemBackground = 0x7f010019;
+ public static final int showAsAction = 0x7f01004d;
+ public static final int showDividers = 0x7f010055;
+ public static final int spinnerDropDownItemStyle = 0x7f010058;
+ public static final int spinnerMode = 0x7f010052;
+ public static final int spinnerStyle = 0x7f010057;
+ public static final int subtitle = 0x7f010029;
+ public static final int subtitleTextStyle = 0x7f01002b;
+ public static final int textAllCaps = 0x7f01006d;
+ public static final int textAppearanceLargePopupMenu = 0x7f010014;
+ public static final int textAppearanceListItem = 0x7f010023;
+ public static final int textAppearanceListItemSmall = 0x7f010024;
+ public static final int textAppearanceSearchResultSubtitle = 0x7f010067;
+ public static final int textAppearanceSearchResultTitle = 0x7f010066;
+ public static final int textAppearanceSmallPopupMenu = 0x7f010015;
+ public static final int textColorSearchUrl = 0x7f010068;
+ public static final int title = 0x7f010025;
+ public static final int titleTextStyle = 0x7f01002a;
+ public static final int windowActionBar = 0x7f010000;
+ public static final int windowActionBarOverlay = 0x7f010001;
+ public static final int windowFixedHeightMajor = 0x7f010006;
+ public static final int windowFixedHeightMinor = 0x7f010004;
+ public static final int windowFixedWidthMajor = 0x7f010003;
+ public static final int windowFixedWidthMinor = 0x7f010005;
+ public static final int windowSplitActionBar = 0x7f010002;
+ }
+ public static final class bool {
+ public static final int abc_action_bar_embed_tabs_pre_jb = 0x7f080000;
+ public static final int abc_action_bar_expanded_action_views_exclusive = 0x7f080001;
+ public static final int abc_config_actionMenuItemAllCaps = 0x7f080005;
+ public static final int abc_config_allowActionMenuItemTextWithIcon = 0x7f080004;
+ public static final int abc_config_showMenuShortcutsWhenKeyboardPresent = 0x7f080003;
+ public static final int abc_split_action_bar_is_narrow = 0x7f080002;
+ }
+ public static final class color {
+ public static final int abc_search_url_text_holo = 0x7f09000e;
+ public static final int abc_search_url_text_normal = 0x7f090000;
+ public static final int abc_search_url_text_pressed = 0x7f090002;
+ public static final int abc_search_url_text_selected = 0x7f090001;
+ }
+ public static final class dimen {
+ public static final int abc_action_bar_default_height = 0x7f0a0002;
+ public static final int abc_action_bar_icon_vertical_padding = 0x7f0a0003;
+ public static final int abc_action_bar_progress_bar_size = 0x7f0a000a;
+ public static final int abc_action_bar_stacked_max_height = 0x7f0a0009;
+ public static final int abc_action_bar_stacked_tab_max_width = 0x7f0a0001;
+ public static final int abc_action_bar_subtitle_bottom_margin = 0x7f0a0007;
+ public static final int abc_action_bar_subtitle_text_size = 0x7f0a0005;
+ public static final int abc_action_bar_subtitle_top_margin = 0x7f0a0006;
+ public static final int abc_action_bar_title_text_size = 0x7f0a0004;
+ public static final int abc_action_button_min_width = 0x7f0a0008;
+ public static final int abc_config_prefDialogWidth = 0x7f0a0000;
+ public static final int abc_dropdownitem_icon_width = 0x7f0a0010;
+ public static final int abc_dropdownitem_text_padding_left = 0x7f0a000e;
+ public static final int abc_dropdownitem_text_padding_right = 0x7f0a000f;
+ public static final int abc_panel_menu_list_width = 0x7f0a000b;
+ public static final int abc_search_view_preferred_width = 0x7f0a000d;
+ public static final int abc_search_view_text_min_width = 0x7f0a000c;
+ public static final int activity_horizontal_margin = 0x7f0a0015;
+ public static final int activity_vertical_margin = 0x7f0a0016;
+ public static final int dialog_fixed_height_major = 0x7f0a0013;
+ public static final int dialog_fixed_height_minor = 0x7f0a0014;
+ public static final int dialog_fixed_width_major = 0x7f0a0011;
+ public static final int dialog_fixed_width_minor = 0x7f0a0012;
+ }
public static final class drawable {
- public static final int ic_launcher = 0x7f020000;
+ public static final int abc_ab_bottom_solid_dark_holo = 0x7f020000;
+ public static final int abc_ab_bottom_solid_light_holo = 0x7f020001;
+ public static final int abc_ab_bottom_transparent_dark_holo = 0x7f020002;
+ public static final int abc_ab_bottom_transparent_light_holo = 0x7f020003;
+ public static final int abc_ab_share_pack_holo_dark = 0x7f020004;
+ public static final int abc_ab_share_pack_holo_light = 0x7f020005;
+ public static final int abc_ab_solid_dark_holo = 0x7f020006;
+ public static final int abc_ab_solid_light_holo = 0x7f020007;
+ public static final int abc_ab_stacked_solid_dark_holo = 0x7f020008;
+ public static final int abc_ab_stacked_solid_light_holo = 0x7f020009;
+ public static final int abc_ab_stacked_transparent_dark_holo = 0x7f02000a;
+ public static final int abc_ab_stacked_transparent_light_holo = 0x7f02000b;
+ public static final int abc_ab_transparent_dark_holo = 0x7f02000c;
+ public static final int abc_ab_transparent_light_holo = 0x7f02000d;
+ public static final int abc_cab_background_bottom_holo_dark = 0x7f02000e;
+ public static final int abc_cab_background_bottom_holo_light = 0x7f02000f;
+ public static final int abc_cab_background_top_holo_dark = 0x7f020010;
+ public static final int abc_cab_background_top_holo_light = 0x7f020011;
+ public static final int abc_ic_ab_back_holo_dark = 0x7f020012;
+ public static final int abc_ic_ab_back_holo_light = 0x7f020013;
+ public static final int abc_ic_cab_done_holo_dark = 0x7f020014;
+ public static final int abc_ic_cab_done_holo_light = 0x7f020015;
+ public static final int abc_ic_clear = 0x7f020016;
+ public static final int abc_ic_clear_disabled = 0x7f020017;
+ public static final int abc_ic_clear_holo_light = 0x7f020018;
+ public static final int abc_ic_clear_normal = 0x7f020019;
+ public static final int abc_ic_clear_search_api_disabled_holo_light = 0x7f02001a;
+ public static final int abc_ic_clear_search_api_holo_light = 0x7f02001b;
+ public static final int abc_ic_commit_search_api_holo_dark = 0x7f02001c;
+ public static final int abc_ic_commit_search_api_holo_light = 0x7f02001d;
+ public static final int abc_ic_go = 0x7f02001e;
+ public static final int abc_ic_go_search_api_holo_light = 0x7f02001f;
+ public static final int abc_ic_menu_moreoverflow_normal_holo_dark = 0x7f020020;
+ public static final int abc_ic_menu_moreoverflow_normal_holo_light = 0x7f020021;
+ public static final int abc_ic_menu_share_holo_dark = 0x7f020022;
+ public static final int abc_ic_menu_share_holo_light = 0x7f020023;
+ public static final int abc_ic_search = 0x7f020024;
+ public static final int abc_ic_search_api_holo_light = 0x7f020025;
+ public static final int abc_ic_voice_search = 0x7f020026;
+ public static final int abc_ic_voice_search_api_holo_light = 0x7f020027;
+ public static final int abc_item_background_holo_dark = 0x7f020028;
+ public static final int abc_item_background_holo_light = 0x7f020029;
+ public static final int abc_list_divider_holo_dark = 0x7f02002a;
+ public static final int abc_list_divider_holo_light = 0x7f02002b;
+ public static final int abc_list_focused_holo = 0x7f02002c;
+ public static final int abc_list_longpressed_holo = 0x7f02002d;
+ public static final int abc_list_pressed_holo_dark = 0x7f02002e;
+ public static final int abc_list_pressed_holo_light = 0x7f02002f;
+ public static final int abc_list_selector_background_transition_holo_dark = 0x7f020030;
+ public static final int abc_list_selector_background_transition_holo_light = 0x7f020031;
+ public static final int abc_list_selector_disabled_holo_dark = 0x7f020032;
+ public static final int abc_list_selector_disabled_holo_light = 0x7f020033;
+ public static final int abc_list_selector_holo_dark = 0x7f020034;
+ public static final int abc_list_selector_holo_light = 0x7f020035;
+ public static final int abc_menu_dropdown_panel_holo_dark = 0x7f020036;
+ public static final int abc_menu_dropdown_panel_holo_light = 0x7f020037;
+ public static final int abc_menu_hardkey_panel_holo_dark = 0x7f020038;
+ public static final int abc_menu_hardkey_panel_holo_light = 0x7f020039;
+ public static final int abc_search_dropdown_dark = 0x7f02003a;
+ public static final int abc_search_dropdown_light = 0x7f02003b;
+ public static final int abc_spinner_ab_default_holo_dark = 0x7f02003c;
+ public static final int abc_spinner_ab_default_holo_light = 0x7f02003d;
+ public static final int abc_spinner_ab_disabled_holo_dark = 0x7f02003e;
+ public static final int abc_spinner_ab_disabled_holo_light = 0x7f02003f;
+ public static final int abc_spinner_ab_focused_holo_dark = 0x7f020040;
+ public static final int abc_spinner_ab_focused_holo_light = 0x7f020041;
+ public static final int abc_spinner_ab_holo_dark = 0x7f020042;
+ public static final int abc_spinner_ab_holo_light = 0x7f020043;
+ public static final int abc_spinner_ab_pressed_holo_dark = 0x7f020044;
+ public static final int abc_spinner_ab_pressed_holo_light = 0x7f020045;
+ public static final int abc_tab_indicator_ab_holo = 0x7f020046;
+ public static final int abc_tab_selected_focused_holo = 0x7f020047;
+ public static final int abc_tab_selected_holo = 0x7f020048;
+ public static final int abc_tab_selected_pressed_holo = 0x7f020049;
+ public static final int abc_tab_unselected_pressed_holo = 0x7f02004a;
+ public static final int abc_textfield_search_default_holo_dark = 0x7f02004b;
+ public static final int abc_textfield_search_default_holo_light = 0x7f02004c;
+ public static final int abc_textfield_search_right_default_holo_dark = 0x7f02004d;
+ public static final int abc_textfield_search_right_default_holo_light = 0x7f02004e;
+ public static final int abc_textfield_search_right_selected_holo_dark = 0x7f02004f;
+ public static final int abc_textfield_search_right_selected_holo_light = 0x7f020050;
+ public static final int abc_textfield_search_selected_holo_dark = 0x7f020051;
+ public static final int abc_textfield_search_selected_holo_light = 0x7f020052;
+ public static final int abc_textfield_searchview_holo_dark = 0x7f020053;
+ public static final int abc_textfield_searchview_holo_light = 0x7f020054;
+ public static final int abc_textfield_searchview_right_holo_dark = 0x7f020055;
+ public static final int abc_textfield_searchview_right_holo_light = 0x7f020056;
+ public static final int ic_launcher = 0x7f020057;
+ }
+ public static final class id {
+ public static final int action_bar = 0x7f070023;
+ public static final int action_bar_activity_content = 0x7f070015;
+ public static final int action_bar_container = 0x7f070022;
+ public static final int action_bar_overlay_layout = 0x7f070026;
+ public static final int action_bar_root = 0x7f070021;
+ public static final int action_bar_subtitle = 0x7f07002a;
+ public static final int action_bar_title = 0x7f070029;
+ public static final int action_context_bar = 0x7f070024;
+ public static final int action_menu_divider = 0x7f070016;
+ public static final int action_menu_presenter = 0x7f070017;
+ public static final int action_mode_close_button = 0x7f07002b;
+ public static final int action_settings = 0x7f070070;
+ public static final int activity_chooser_view_content = 0x7f07002c;
+ public static final int always = 0x7f07000b;
+ public static final int beginning = 0x7f070011;
+ public static final int checkbox = 0x7f070034;
+ public static final int collapseActionView = 0x7f07000d;
+ public static final int default_activity_button = 0x7f07002f;
+ public static final int dialog = 0x7f07000e;
+ public static final int disableHome = 0x7f070008;
+ public static final int dropdown = 0x7f07000f;
+ public static final int edit_query = 0x7f070037;
+ public static final int end = 0x7f070013;
+ public static final int expand_activities_button = 0x7f07002d;
+ public static final int expanded_menu = 0x7f070033;
+ public static final int home = 0x7f070014;
+ public static final int homeAsUp = 0x7f070005;
+ public static final int icon = 0x7f070031;
+ public static final int ifRoom = 0x7f07000a;
+ public static final int image = 0x7f07002e;
+ public static final int listMode = 0x7f070001;
+ public static final int list_item = 0x7f070030;
+ public static final int middle = 0x7f070012;
+ public static final int never = 0x7f070009;
+ public static final int none = 0x7f070010;
+ public static final int normal = 0x7f070000;
+ public static final int progress_circular = 0x7f070018;
+ public static final int progress_horizontal = 0x7f070019;
+ public static final int radio = 0x7f070036;
+ public static final int search_badge = 0x7f070039;
+ public static final int search_bar = 0x7f070038;
+ public static final int search_button = 0x7f07003a;
+ public static final int search_close_btn = 0x7f07003f;
+ public static final int search_edit_frame = 0x7f07003b;
+ public static final int search_go_btn = 0x7f070041;
+ public static final int search_mag_icon = 0x7f07003c;
+ public static final int search_plate = 0x7f07003d;
+ public static final int search_src_text = 0x7f07003e;
+ public static final int search_voice_btn = 0x7f070042;
+ public static final int shortcut = 0x7f070035;
+ public static final int showCustom = 0x7f070007;
+ public static final int showHome = 0x7f070004;
+ public static final int showTitle = 0x7f070006;
+ public static final int split_action_bar = 0x7f070025;
+ public static final int submit_area = 0x7f070040;
+ public static final int tabMode = 0x7f070002;
+ public static final int title = 0x7f070032;
+ public static final int top_action_bar = 0x7f070027;
+ public static final int up = 0x7f070028;
+ public static final int useLogo = 0x7f070003;
+ public static final int withText = 0x7f07000c;
+ }
+ public static final class integer {
+ public static final int abc_max_action_buttons = 0x7f0b0000;
+ }
+ public static final class layout {
+ public static final int abc_action_bar_decor = 0x7f030000;
+ public static final int abc_action_bar_decor_include = 0x7f030001;
+ public static final int abc_action_bar_decor_overlay = 0x7f030002;
+ public static final int abc_action_bar_home = 0x7f030003;
+ public static final int abc_action_bar_tab = 0x7f030004;
+ public static final int abc_action_bar_tabbar = 0x7f030005;
+ public static final int abc_action_bar_title_item = 0x7f030006;
+ public static final int abc_action_bar_view_list_nav_layout = 0x7f030007;
+ public static final int abc_action_menu_item_layout = 0x7f030008;
+ public static final int abc_action_menu_layout = 0x7f030009;
+ public static final int abc_action_mode_bar = 0x7f03000a;
+ public static final int abc_action_mode_close_item = 0x7f03000b;
+ public static final int abc_activity_chooser_view = 0x7f03000c;
+ public static final int abc_activity_chooser_view_include = 0x7f03000d;
+ public static final int abc_activity_chooser_view_list_item = 0x7f03000e;
+ public static final int abc_expanded_menu_layout = 0x7f03000f;
+ public static final int abc_list_menu_item_checkbox = 0x7f030010;
+ public static final int abc_list_menu_item_icon = 0x7f030011;
+ public static final int abc_list_menu_item_layout = 0x7f030012;
+ public static final int abc_list_menu_item_radio = 0x7f030013;
+ public static final int abc_popup_menu_item_layout = 0x7f030014;
+ public static final int abc_search_dropdown_item_icons_2line = 0x7f030015;
+ public static final int abc_search_view = 0x7f030016;
+ public static final int abc_simple_decor = 0x7f030017;
+ public static final int support_simple_spinner_dropdown_item = 0x7f030026;
+ }
+ public static final class menu {
+ public static final int main = 0x7f0f0003;
}
public static final class string {
- public static final int app_name = 0x7f040000;
+ public static final int abc_action_bar_home_description = 0x7f0c0001;
+ public static final int abc_action_bar_up_description = 0x7f0c0002;
+ public static final int abc_action_menu_overflow_description = 0x7f0c0003;
+ public static final int abc_action_mode_done = 0x7f0c0000;
+ public static final int abc_activity_chooser_view_see_all = 0x7f0c000a;
+ public static final int abc_activitychooserview_choose_application = 0x7f0c0009;
+ public static final int abc_searchview_description_clear = 0x7f0c0006;
+ public static final int abc_searchview_description_query = 0x7f0c0005;
+ public static final int abc_searchview_description_search = 0x7f0c0004;
+ public static final int abc_searchview_description_submit = 0x7f0c0007;
+ public static final int abc_searchview_description_voice = 0x7f0c0008;
+ public static final int abc_shareactionprovider_share_with = 0x7f0c000c;
+ public static final int abc_shareactionprovider_share_with_application = 0x7f0c000b;
+ public static final int action_settings = 0x7f0c0010;
+ public static final int app_name = 0x7f0c000d;
+ public static final int hello_world = 0x7f0c000f;
+ public static final int title_activity_main = 0x7f0c000e;
}
public static final class style {
- public static final int AppBaseTheme = 0x7f050000;
- public static final int AppTheme = 0x7f050001;
+ public static final int AppBaseTheme = 0x7f0d008b;
+ public static final int AppTheme = 0x7f0d008c;
+ public static final int TextAppearance_AppCompat_Base_CompactMenu_Dialog = 0x7f0d0063;
+ public static final int TextAppearance_AppCompat_Base_SearchResult = 0x7f0d006d;
+ public static final int TextAppearance_AppCompat_Base_SearchResult_Subtitle = 0x7f0d006f;
+ public static final int TextAppearance_AppCompat_Base_SearchResult_Title = 0x7f0d006e;
+ public static final int TextAppearance_AppCompat_Base_Widget_PopupMenu_Large = 0x7f0d0069;
+ public static final int TextAppearance_AppCompat_Base_Widget_PopupMenu_Small = 0x7f0d006a;
+ public static final int TextAppearance_AppCompat_Light_Base_SearchResult = 0x7f0d0070;
+ public static final int TextAppearance_AppCompat_Light_Base_SearchResult_Subtitle = 0x7f0d0072;
+ public static final int TextAppearance_AppCompat_Light_Base_SearchResult_Title = 0x7f0d0071;
+ public static final int TextAppearance_AppCompat_Light_Base_Widget_PopupMenu_Large = 0x7f0d006b;
+ public static final int TextAppearance_AppCompat_Light_Base_Widget_PopupMenu_Small = 0x7f0d006c;
+ public static final int TextAppearance_AppCompat_Light_SearchResult_Subtitle = 0x7f0d0035;
+ public static final int TextAppearance_AppCompat_Light_SearchResult_Title = 0x7f0d0034;
+ public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 0x7f0d0030;
+ public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 0x7f0d0031;
+ public static final int TextAppearance_AppCompat_SearchResult_Subtitle = 0x7f0d0033;
+ public static final int TextAppearance_AppCompat_SearchResult_Title = 0x7f0d0032;
+ public static final int TextAppearance_AppCompat_Widget_ActionBar_Menu = 0x7f0d001a;
+ public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 0x7f0d0006;
+ public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 0x7f0d0008;
+ public static final int TextAppearance_AppCompat_Widget_ActionBar_Title = 0x7f0d0005;
+ public static final int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 0x7f0d0007;
+ public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 0x7f0d001e;
+ public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse = 0x7f0d0020;
+ public static final int TextAppearance_AppCompat_Widget_ActionMode_Title = 0x7f0d001d;
+ public static final int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse = 0x7f0d001f;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Menu = 0x7f0d0054;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Subtitle = 0x7f0d0056;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Subtitle_Inverse = 0x7f0d0058;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Title = 0x7f0d0055;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Title_Inverse = 0x7f0d0057;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Subtitle = 0x7f0d0051;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Subtitle_Inverse = 0x7f0d0053;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Title = 0x7f0d0050;
+ public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Title_Inverse = 0x7f0d0052;
+ public static final int TextAppearance_AppCompat_Widget_Base_DropDownItem = 0x7f0d0061;
+ public static final int TextAppearance_AppCompat_Widget_DropDownItem = 0x7f0d0021;
+ public static final int TextAppearance_AppCompat_Widget_PopupMenu_Large = 0x7f0d002e;
+ public static final int TextAppearance_AppCompat_Widget_PopupMenu_Small = 0x7f0d002f;
+ public static final int TextAppearance_Widget_AppCompat_Base_ExpandedMenu_Item = 0x7f0d0062;
+ public static final int TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 0x7f0d0028;
+ public static final int Theme_AppCompat = 0x7f0d0077;
+ public static final int Theme_AppCompat_Base_CompactMenu = 0x7f0d0083;
+ public static final int Theme_AppCompat_Base_CompactMenu_Dialog = 0x7f0d0084;
+ public static final int Theme_AppCompat_CompactMenu = 0x7f0d007c;
+ public static final int Theme_AppCompat_CompactMenu_Dialog = 0x7f0d007d;
+ public static final int Theme_AppCompat_DialogWhenLarge = 0x7f0d007a;
+ public static final int Theme_AppCompat_Light = 0x7f0d0078;
+ public static final int Theme_AppCompat_Light_DarkActionBar = 0x7f0d0079;
+ public static final int Theme_AppCompat_Light_DialogWhenLarge = 0x7f0d007b;
+ public static final int Theme_Base = 0x7f0d007e;
+ public static final int Theme_Base_AppCompat = 0x7f0d0080;
+ public static final int Theme_Base_AppCompat_DialogWhenLarge = 0x7f0d0085;
+ public static final int Theme_Base_AppCompat_DialogWhenLarge_Base = 0x7f0d0089;
+ public static final int Theme_Base_AppCompat_Dialog_FixedSize = 0x7f0d0087;
+ public static final int Theme_Base_AppCompat_Dialog_Light_FixedSize = 0x7f0d0088;
+ public static final int Theme_Base_AppCompat_Light = 0x7f0d0081;
+ public static final int Theme_Base_AppCompat_Light_DarkActionBar = 0x7f0d0082;
+ public static final int Theme_Base_AppCompat_Light_DialogWhenLarge = 0x7f0d0086;
+ public static final int Theme_Base_AppCompat_Light_DialogWhenLarge_Base = 0x7f0d008a;
+ public static final int Theme_Base_Light = 0x7f0d007f;
+ public static final int Widget_AppCompat_ActionBar = 0x7f0d0000;
+ public static final int Widget_AppCompat_ActionBar_Solid = 0x7f0d0002;
+ public static final int Widget_AppCompat_ActionBar_TabBar = 0x7f0d0011;
+ public static final int Widget_AppCompat_ActionBar_TabText = 0x7f0d0017;
+ public static final int Widget_AppCompat_ActionBar_TabView = 0x7f0d0014;
+ public static final int Widget_AppCompat_ActionButton = 0x7f0d000b;
+ public static final int Widget_AppCompat_ActionButton_CloseMode = 0x7f0d000d;
+ public static final int Widget_AppCompat_ActionButton_Overflow = 0x7f0d000f;
+ public static final int Widget_AppCompat_ActionMode = 0x7f0d001b;
+ public static final int Widget_AppCompat_ActivityChooserView = 0x7f0d0038;
+ public static final int Widget_AppCompat_AutoCompleteTextView = 0x7f0d0036;
+ public static final int Widget_AppCompat_Base_ActionBar = 0x7f0d003a;
+ public static final int Widget_AppCompat_Base_ActionBar_Solid = 0x7f0d003c;
+ public static final int Widget_AppCompat_Base_ActionBar_TabBar = 0x7f0d0045;
+ public static final int Widget_AppCompat_Base_ActionBar_TabText = 0x7f0d004b;
+ public static final int Widget_AppCompat_Base_ActionBar_TabView = 0x7f0d0048;
+ public static final int Widget_AppCompat_Base_ActionButton = 0x7f0d003f;
+ public static final int Widget_AppCompat_Base_ActionButton_CloseMode = 0x7f0d0041;
+ public static final int Widget_AppCompat_Base_ActionButton_Overflow = 0x7f0d0043;
+ public static final int Widget_AppCompat_Base_ActionMode = 0x7f0d004e;
+ public static final int Widget_AppCompat_Base_ActivityChooserView = 0x7f0d0075;
+ public static final int Widget_AppCompat_Base_AutoCompleteTextView = 0x7f0d0073;
+ public static final int Widget_AppCompat_Base_DropDownItem_Spinner = 0x7f0d005d;
+ public static final int Widget_AppCompat_Base_ListPopupWindow = 0x7f0d0065;
+ public static final int Widget_AppCompat_Base_ListView_DropDown = 0x7f0d005f;
+ public static final int Widget_AppCompat_Base_ListView_Menu = 0x7f0d0064;
+ public static final int Widget_AppCompat_Base_PopupMenu = 0x7f0d0067;
+ public static final int Widget_AppCompat_Base_ProgressBar = 0x7f0d005a;
+ public static final int Widget_AppCompat_Base_ProgressBar_Horizontal = 0x7f0d0059;
+ public static final int Widget_AppCompat_Base_Spinner = 0x7f0d005b;
+ public static final int Widget_AppCompat_DropDownItem_Spinner = 0x7f0d0024;
+ public static final int Widget_AppCompat_Light_ActionBar = 0x7f0d0001;
+ public static final int Widget_AppCompat_Light_ActionBar_Solid = 0x7f0d0003;
+ public static final int Widget_AppCompat_Light_ActionBar_Solid_Inverse = 0x7f0d0004;
+ public static final int Widget_AppCompat_Light_ActionBar_TabBar = 0x7f0d0012;
+ public static final int Widget_AppCompat_Light_ActionBar_TabBar_Inverse = 0x7f0d0013;
+ public static final int Widget_AppCompat_Light_ActionBar_TabText = 0x7f0d0018;
+ public static final int Widget_AppCompat_Light_ActionBar_TabText_Inverse = 0x7f0d0019;
+ public static final int Widget_AppCompat_Light_ActionBar_TabView = 0x7f0d0015;
+ public static final int Widget_AppCompat_Light_ActionBar_TabView_Inverse = 0x7f0d0016;
+ public static final int Widget_AppCompat_Light_ActionButton = 0x7f0d000c;
+ public static final int Widget_AppCompat_Light_ActionButton_CloseMode = 0x7f0d000e;
+ public static final int Widget_AppCompat_Light_ActionButton_Overflow = 0x7f0d0010;
+ public static final int Widget_AppCompat_Light_ActionMode_Inverse = 0x7f0d001c;
+ public static final int Widget_AppCompat_Light_ActivityChooserView = 0x7f0d0039;
+ public static final int Widget_AppCompat_Light_AutoCompleteTextView = 0x7f0d0037;
+ public static final int Widget_AppCompat_Light_Base_ActionBar = 0x7f0d003b;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_Solid = 0x7f0d003d;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_Solid_Inverse = 0x7f0d003e;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_TabBar = 0x7f0d0046;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_TabBar_Inverse = 0x7f0d0047;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_TabText = 0x7f0d004c;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_TabText_Inverse = 0x7f0d004d;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_TabView = 0x7f0d0049;
+ public static final int Widget_AppCompat_Light_Base_ActionBar_TabView_Inverse = 0x7f0d004a;
+ public static final int Widget_AppCompat_Light_Base_ActionButton = 0x7f0d0040;
+ public static final int Widget_AppCompat_Light_Base_ActionButton_CloseMode = 0x7f0d0042;
+ public static final int Widget_AppCompat_Light_Base_ActionButton_Overflow = 0x7f0d0044;
+ public static final int Widget_AppCompat_Light_Base_ActionMode_Inverse = 0x7f0d004f;
+ public static final int Widget_AppCompat_Light_Base_ActivityChooserView = 0x7f0d0076;
+ public static final int Widget_AppCompat_Light_Base_AutoCompleteTextView = 0x7f0d0074;
+ public static final int Widget_AppCompat_Light_Base_DropDownItem_Spinner = 0x7f0d005e;
+ public static final int Widget_AppCompat_Light_Base_ListPopupWindow = 0x7f0d0066;
+ public static final int Widget_AppCompat_Light_Base_ListView_DropDown = 0x7f0d0060;
+ public static final int Widget_AppCompat_Light_Base_PopupMenu = 0x7f0d0068;
+ public static final int Widget_AppCompat_Light_Base_Spinner = 0x7f0d005c;
+ public static final int Widget_AppCompat_Light_DropDownItem_Spinner = 0x7f0d0025;
+ public static final int Widget_AppCompat_Light_ListPopupWindow = 0x7f0d002a;
+ public static final int Widget_AppCompat_Light_ListView_DropDown = 0x7f0d0027;
+ public static final int Widget_AppCompat_Light_PopupMenu = 0x7f0d002c;
+ public static final int Widget_AppCompat_Light_Spinner_DropDown_ActionBar = 0x7f0d0023;
+ public static final int Widget_AppCompat_ListPopupWindow = 0x7f0d0029;
+ public static final int Widget_AppCompat_ListView_DropDown = 0x7f0d0026;
+ public static final int Widget_AppCompat_ListView_Menu = 0x7f0d002d;
+ public static final int Widget_AppCompat_PopupMenu = 0x7f0d002b;
+ public static final int Widget_AppCompat_ProgressBar = 0x7f0d000a;
+ public static final int Widget_AppCompat_ProgressBar_Horizontal = 0x7f0d0009;
+ public static final int Widget_AppCompat_Spinner_DropDown_ActionBar = 0x7f0d0022;
+ }
+ public static final class styleable {
+ public static final int[] ActionBar = { 0x7f010025, 0x7f010026, 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b, 0x7f01002c, 0x7f01002d, 0x7f01002e, 0x7f01002f, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035, 0x7f010036, 0x7f010037 };
+ public static final int[] ActionBarLayout = { 0x010100b3 };
+ public static final int ActionBarLayout_android_layout_gravity = 0;
+ public static final int[] ActionBarWindow = { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006 };
+ public static final int ActionBarWindow_windowActionBar = 0;
+ public static final int ActionBarWindow_windowActionBarOverlay = 1;
+ public static final int ActionBarWindow_windowFixedHeightMajor = 6;
+ public static final int ActionBarWindow_windowFixedHeightMinor = 4;
+ public static final int ActionBarWindow_windowFixedWidthMajor = 3;
+ public static final int ActionBarWindow_windowFixedWidthMinor = 5;
+ public static final int ActionBarWindow_windowSplitActionBar = 2;
+ public static final int ActionBar_background = 10;
+ public static final int ActionBar_backgroundSplit = 12;
+ public static final int ActionBar_backgroundStacked = 11;
+ public static final int ActionBar_customNavigationLayout = 13;
+ public static final int ActionBar_displayOptions = 3;
+ public static final int ActionBar_divider = 9;
+ public static final int ActionBar_height = 1;
+ public static final int ActionBar_homeLayout = 14;
+ public static final int ActionBar_icon = 7;
+ public static final int ActionBar_indeterminateProgressStyle = 16;
+ public static final int ActionBar_itemPadding = 18;
+ public static final int ActionBar_logo = 8;
+ public static final int ActionBar_navigationMode = 2;
+ public static final int ActionBar_progressBarPadding = 17;
+ public static final int ActionBar_progressBarStyle = 15;
+ public static final int ActionBar_subtitle = 4;
+ public static final int ActionBar_subtitleTextStyle = 6;
+ public static final int ActionBar_title = 0;
+ public static final int ActionBar_titleTextStyle = 5;
+ public static final int[] ActionMenuItemView = { 0x0101013f };
+ public static final int ActionMenuItemView_android_minWidth = 0;
+ public static final int[] ActionMenuView = { };
+ public static final int[] ActionMode = { 0x7f010026, 0x7f01002a, 0x7f01002b, 0x7f01002f, 0x7f010031 };
+ public static final int ActionMode_background = 3;
+ public static final int ActionMode_backgroundSplit = 4;
+ public static final int ActionMode_height = 0;
+ public static final int ActionMode_subtitleTextStyle = 2;
+ public static final int ActionMode_titleTextStyle = 1;
+ public static final int[] ActivityChooserView = { 0x7f01006a, 0x7f01006b };
+ public static final int ActivityChooserView_expandActivityOverflowButtonDrawable = 1;
+ public static final int ActivityChooserView_initialActivityCount = 0;
+ public static final int[] CompatTextView = { 0x7f01006d };
+ public static final int CompatTextView_textAllCaps = 0;
+ public static final int[] LinearLayoutICS = { 0x7f01002e, 0x7f010055, 0x7f010056 };
+ public static final int LinearLayoutICS_divider = 0;
+ public static final int LinearLayoutICS_dividerPadding = 2;
+ public static final int LinearLayoutICS_showDividers = 1;
+ public static final int[] MenuGroup = { 0x0101000e, 0x010100d0, 0x01010194, 0x010101de, 0x010101df, 0x010101e0 };
+ public static final int MenuGroup_android_checkableBehavior = 5;
+ public static final int MenuGroup_android_enabled = 0;
+ public static final int MenuGroup_android_id = 1;
+ public static final int MenuGroup_android_menuCategory = 3;
+ public static final int MenuGroup_android_orderInCategory = 4;
+ public static final int MenuGroup_android_visible = 2;
+ public static final int[] MenuItem = { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x7f01004d, 0x7f01004e, 0x7f01004f, 0x7f010050 };
+ public static final int MenuItem_actionLayout = 14;
+ public static final int MenuItem_actionProviderClass = 16;
+ public static final int MenuItem_actionViewClass = 15;
+ public static final int MenuItem_android_alphabeticShortcut = 9;
+ public static final int MenuItem_android_checkable = 11;
+ public static final int MenuItem_android_checked = 3;
+ public static final int MenuItem_android_enabled = 1;
+ public static final int MenuItem_android_icon = 0;
+ public static final int MenuItem_android_id = 2;
+ public static final int MenuItem_android_menuCategory = 5;
+ public static final int MenuItem_android_numericShortcut = 10;
+ public static final int MenuItem_android_onClick = 12;
+ public static final int MenuItem_android_orderInCategory = 6;
+ public static final int MenuItem_android_title = 7;
+ public static final int MenuItem_android_titleCondensed = 8;
+ public static final int MenuItem_android_visible = 4;
+ public static final int MenuItem_showAsAction = 13;
+ public static final int[] MenuView = { 0x010100ae, 0x0101012c, 0x0101012d, 0x0101012e, 0x0101012f, 0x01010130, 0x01010131, 0x01010435 };
+ public static final int MenuView_android_headerBackground = 4;
+ public static final int MenuView_android_horizontalDivider = 2;
+ public static final int MenuView_android_itemBackground = 5;
+ public static final int MenuView_android_itemIconDisabledAlpha = 6;
+ public static final int MenuView_android_itemTextAppearance = 1;
+ public static final int MenuView_android_preserveIconSpacing = 7;
+ public static final int MenuView_android_verticalDivider = 3;
+ public static final int MenuView_android_windowAnimationStyle = 0;
+ public static final int[] SearchView = { 0x0101011f, 0x01010220, 0x01010264, 0x7f01005a, 0x7f01005b };
+ public static final int SearchView_android_imeOptions = 2;
+ public static final int SearchView_android_inputType = 1;
+ public static final int SearchView_android_maxWidth = 0;
+ public static final int SearchView_iconifiedByDefault = 3;
+ public static final int SearchView_queryHint = 4;
+ public static final int[] Spinner = { 0x010100af, 0x01010175, 0x01010176, 0x01010262, 0x010102ac, 0x010102ad, 0x7f010051, 0x7f010052, 0x7f010053, 0x7f010054 };
+ public static final int Spinner_android_dropDownHorizontalOffset = 4;
+ public static final int Spinner_android_dropDownSelector = 1;
+ public static final int Spinner_android_dropDownVerticalOffset = 5;
+ public static final int Spinner_android_dropDownWidth = 3;
+ public static final int Spinner_android_gravity = 0;
+ public static final int Spinner_android_popupBackground = 2;
+ public static final int Spinner_disableChildrenWhenDisabled = 9;
+ public static final int Spinner_popupPromptView = 8;
+ public static final int Spinner_prompt = 6;
+ public static final int Spinner_spinnerMode = 7;
+ public static final int[] Theme = { 0x7f010047, 0x7f010048, 0x7f010049, 0x7f01004a, 0x7f01004b, 0x7f01004c };
+ public static final int Theme_actionDropDownStyle = 0;
+ public static final int Theme_dropdownListPreferredItemHeight = 1;
+ public static final int Theme_listChoiceBackgroundIndicator = 5;
+ public static final int Theme_panelMenuListTheme = 4;
+ public static final int Theme_panelMenuListWidth = 3;
+ public static final int Theme_popupMenuStyle = 2;
+ public static final int[] View = { 0x010100da, 0x7f010038, 0x7f010039 };
+ public static final int View_android_focusable = 0;
+ public static final int View_paddingEnd = 2;
+ public static final int View_paddingStart = 1;
}
}
diff --git a/src/java/PluginQR/libs/core-2.3.0.jar b/src/java/PluginQR/libs/core-2.3.0.jar
new file mode 100644
index 00000000..990adcbf
Binary files /dev/null and b/src/java/PluginQR/libs/core-2.3.0.jar differ
diff --git a/src/java/PluginQR/libs/core.jar b/src/java/PluginQR/libs/core.jar
deleted file mode 100644
index c283af7e..00000000
Binary files a/src/java/PluginQR/libs/core.jar and /dev/null differ
diff --git a/src/java/PluginQR/res/drawable-hdpi/launcher_icon.png b/src/java/PluginQR/res/drawable-hdpi/launcher_icon.png
new file mode 100644
index 00000000..5932aade
Binary files /dev/null and b/src/java/PluginQR/res/drawable-hdpi/launcher_icon.png differ
diff --git a/src/java/PluginQR/res/drawable-xhdpi/launcher_icon.png b/src/java/PluginQR/res/drawable-xhdpi/launcher_icon.png
new file mode 100644
index 00000000..330dc2f9
Binary files /dev/null and b/src/java/PluginQR/res/drawable-xhdpi/launcher_icon.png differ
diff --git a/src/java/PluginQR/res/drawable-xxhdpi/launcher_icon.png b/src/java/PluginQR/res/drawable-xxhdpi/launcher_icon.png
new file mode 100644
index 00000000..d535fdae
Binary files /dev/null and b/src/java/PluginQR/res/drawable-xxhdpi/launcher_icon.png differ
diff --git a/src/java/PluginQR/res/drawable/launcher_icon.png b/src/java/PluginQR/res/drawable/launcher_icon.png
new file mode 100644
index 00000000..fc5fafcf
Binary files /dev/null and b/src/java/PluginQR/res/drawable/launcher_icon.png differ
diff --git a/src/java/PluginQR/res/drawable/share_via_barcode.png b/src/java/PluginQR/res/drawable/share_via_barcode.png
new file mode 100644
index 00000000..56c34492
Binary files /dev/null and b/src/java/PluginQR/res/drawable/share_via_barcode.png differ
diff --git a/src/java/PluginQR/res/layout-land/encode.xml b/src/java/PluginQR/res/layout-land/encode.xml
new file mode 100644
index 00000000..947f9701
--- /dev/null
+++ b/src/java/PluginQR/res/layout-land/encode.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/java/PluginQR/res/layout-land/share.xml b/src/java/PluginQR/res/layout-land/share.xml
new file mode 100644
index 00000000..91383526
--- /dev/null
+++ b/src/java/PluginQR/res/layout-land/share.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/java/PluginQR/res/layout-ldpi/capture.xml b/src/java/PluginQR/res/layout-ldpi/capture.xml
new file mode 100644
index 00000000..da00412a
--- /dev/null
+++ b/src/java/PluginQR/res/layout-ldpi/capture.xml
@@ -0,0 +1,201 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/java/PluginQR/res/layout/activity_main.xml b/src/java/PluginQR/res/layout/activity_main.xml
new file mode 100644
index 00000000..f9151ecf
--- /dev/null
+++ b/src/java/PluginQR/res/layout/activity_main.xml
@@ -0,0 +1,8 @@
+
+
diff --git a/src/java/PluginQR/res/layout/app_picker_list_item.xml b/src/java/PluginQR/res/layout/app_picker_list_item.xml
new file mode 100644
index 00000000..3b7927cb
--- /dev/null
+++ b/src/java/PluginQR/res/layout/app_picker_list_item.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
diff --git a/src/java/PluginQR/res/layout/bookmark_picker_list_item.xml b/src/java/PluginQR/res/layout/bookmark_picker_list_item.xml
new file mode 100644
index 00000000..5122461c
--- /dev/null
+++ b/src/java/PluginQR/res/layout/bookmark_picker_list_item.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/java/PluginQR/res/layout/capture.xml b/src/java/PluginQR/res/layout/capture.xml
new file mode 100644
index 00000000..9578b398
--- /dev/null
+++ b/src/java/PluginQR/res/layout/capture.xml
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/java/PluginQR/res/layout/encode.xml b/src/java/PluginQR/res/layout/encode.xml
new file mode 100644
index 00000000..0dfcbc53
--- /dev/null
+++ b/src/java/PluginQR/res/layout/encode.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/java/PluginQR/res/layout/fragment_main.xml b/src/java/PluginQR/res/layout/fragment_main.xml
new file mode 100644
index 00000000..99f21199
--- /dev/null
+++ b/src/java/PluginQR/res/layout/fragment_main.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/src/java/PluginQR/res/layout/help.xml b/src/java/PluginQR/res/layout/help.xml
new file mode 100644
index 00000000..e02480a9
--- /dev/null
+++ b/src/java/PluginQR/res/layout/help.xml
@@ -0,0 +1,21 @@
+
+
+
\ No newline at end of file
diff --git a/src/java/PluginQR/res/layout/history_list_item.xml b/src/java/PluginQR/res/layout/history_list_item.xml
new file mode 100644
index 00000000..1e20d8cf
--- /dev/null
+++ b/src/java/PluginQR/res/layout/history_list_item.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/java/PluginQR/res/layout/search_book_contents.xml b/src/java/PluginQR/res/layout/search_book_contents.xml
new file mode 100644
index 00000000..29124372
--- /dev/null
+++ b/src/java/PluginQR/res/layout/search_book_contents.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/java/PluginQR/res/layout/search_book_contents_header.xml b/src/java/PluginQR/res/layout/search_book_contents_header.xml
new file mode 100644
index 00000000..0548eea8
--- /dev/null
+++ b/src/java/PluginQR/res/layout/search_book_contents_header.xml
@@ -0,0 +1,23 @@
+
+
+
diff --git a/src/java/PluginQR/res/layout/search_book_contents_list_item.xml b/src/java/PluginQR/res/layout/search_book_contents_list_item.xml
new file mode 100644
index 00000000..229e24e2
--- /dev/null
+++ b/src/java/PluginQR/res/layout/search_book_contents_list_item.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/java/PluginQR/res/layout/share.xml b/src/java/PluginQR/res/layout/share.xml
new file mode 100644
index 00000000..2dc9a8fb
--- /dev/null
+++ b/src/java/PluginQR/res/layout/share.xml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/java/PluginQR/res/menu/capture.xml b/src/java/PluginQR/res/menu/capture.xml
new file mode 100644
index 00000000..36ece27f
--- /dev/null
+++ b/src/java/PluginQR/res/menu/capture.xml
@@ -0,0 +1,38 @@
+
+
+
\ No newline at end of file
diff --git a/src/java/PluginQR/res/menu/encode.xml b/src/java/PluginQR/res/menu/encode.xml
new file mode 100644
index 00000000..eb0175b0
--- /dev/null
+++ b/src/java/PluginQR/res/menu/encode.xml
@@ -0,0 +1,28 @@
+
+
+
\ No newline at end of file
diff --git a/src/java/PluginQR/res/menu/history.xml b/src/java/PluginQR/res/menu/history.xml
new file mode 100644
index 00000000..273802b7
--- /dev/null
+++ b/src/java/PluginQR/res/menu/history.xml
@@ -0,0 +1,28 @@
+
+
+
\ No newline at end of file
diff --git a/src/java/PluginQR/res/menu/main.xml b/src/java/PluginQR/res/menu/main.xml
new file mode 100644
index 00000000..76814975
--- /dev/null
+++ b/src/java/PluginQR/res/menu/main.xml
@@ -0,0 +1,11 @@
+
diff --git a/src/java/PluginQR/res/raw/beep.ogg b/src/java/PluginQR/res/raw/beep.ogg
new file mode 100644
index 00000000..14199476
Binary files /dev/null and b/src/java/PluginQR/res/raw/beep.ogg differ
diff --git a/src/java/PluginQR/res/values-ar/strings.xml b/src/java/PluginQR/res/values-ar/strings.xml
new file mode 100644
index 00000000..2aef9ebf
--- /dev/null
+++ b/src/java/PluginQR/res/values-ar/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ ماسح الرمز الشريطي
+ تطبيقات
+ إشارات مرجعية
+ إضافة إلى التقويم
+ إضافة جهة اتصال
+ بحث في الكتب
+ إلغاء
+ بحث مخصص
+ طلب رقم
+ إرسال بريد
+ معرفة الاتجاهات
+ إرسال MMS
+ موافق
+ فتح المتصفح
+ بحث عن منتجات
+ بحث في المحتويات
+ التطبيق
+ إشارة مرجعية
+ مشاركة عبر البريد
+ مشاركة عبر SMS
+ حافظة
+ جهة اتصال
+ عرض الخريطة
+ إرسال SMS
+ بحث في الويب
+ الاتصال بشبك
+ معلومات جهة اتصال
+ عنوان البريد
+ إحداثيات جغرافية
+ رقم الهاتف
+ عنوان SMS
+ نص عادي
+ حذف
+ مسح السجل
+ سجل ماسح الرموز الشريطية
+ فارغ
+ لم تسجل حتى الآن بمسح الباركود
+ إرسال السجل
+ سجل
+ استخدام MECARD
+ استخدام vCard
+ تعليمات
+ سجل
+ إعدادات
+ مشاركة
+ معظم الدراسي : الباركود الممسوحة ضوئيا وحفظها
+ عفوا، حدثت مشكلة في كاميرا جهاز Android. قد تحتاج إلى إعادة تشغيل الجهاز.
+ التنسيق
+ البيانات الوصفية
+ أهلا
+ قم بوضع الرمز الشريطي داخل حدود صورة الكاميرا ليتم مسحه.
+ الوقت
+ النوع
+ تعذر ترميز رمز شريطي من البيانات المتوفرة.
+ Google
+ Google
+ عفوا، تعذر تشغيل التطبيق المطلوب. قد تكون محتويات الرمز الشريطي غير صحيحة.
+ إعادة توجيه
+ عفوا، لا يمكن البحث في هذا الكتاب.
+ عفوا، حدثت مشكلة في عملية البحث.
+ لم يتم إرجاع أية صفحة
+ الصفحة
+ النتائج
+ البحث في الكتاب
+ الأجزاء غير متاحة
+ يمكنك مشاركة البيانات عن طريق عرض رمز شريطي على الشاشة ومسحه من خلال هاتف آخر.
+ أو اكتب بعض النص
+ هل أنت متأكد؟
+ رجاء إيقاف التخزين على USB للمتابعة.
+ عند العثور على رمز شريطي
+ استخدام التركيز التلقائي
+ المسح الضوئي وحفظها بشكل مستمر العديد من الرموز الشريطية
+ جل وضع المسح الضوئي
+ نسخ إلى الحافظة
+ التبديلات : s٪ = المحتويات ، f٪ = الشكل ، اكتب t٪ =
+ عنوان بحث مخصص
+ فك الرموز الشريطية 1D
+ فك رموز البيانات ماتريكس
+ فك رموز QR
+ الحلول جهاز علة
+ استخدام وضع معيار التركيز فقط
+ لا التركيز المستمر
+ لا تعرض
+ أوتوماتيكي
+ غير فعال
+ نشط
+ تقوم بتحسين عملية المسح في إضاءة ضعيفة في بعض الهواتف، ولكن يمكن أن يتسبب في حدوث سطوع
+ استخدم إضاءة أمامية
+ إعدادات عامة
+ مسح الباركود لأبيض على خلفية سوداء. لا تتوفر على بعض الأجهزة.
+ عكس المسح الضوئي
+ إعدادات
+ صوت تنبيه
+ بفحص مخزن متعددة من نفس الباركود في التاريخ
+ تذكر التكرارات
+ إعدادات النتائج
+ عندما لمسح الباركود
+ ابحث عن بلد
+ محاولة لاسترداد مزيد من المعلومات حول محتويات الباركود
+ استرداد مزيد من المعلومات
+ محاولة الباركود +
+ معززة مع الميزات الجديدة واجهة
+ اهتزاز
+ تم العثور على معلومات جهة الاتصال
+ تم العثور على حدث التقويم
+ تم العثور على عنوان البريد
+ تم العثور على الإحداثيات الجغرافية
+ تم العثور على الكتاب
+ تم العثور على المنتج
+ تم العثور على عنوان SMS
+ تم العثور على رقم الهاتف
+ تم العثور على نص عادي
+ تم العثور على العنوان
+ العثور على التكوين اللاسلك
+ البحث في Google Book
+ طلب الاتصال بالشبكة\u2026
+ اسم الشبكة
+ نوع
+
diff --git a/src/java/PluginQR/res/values-bg/strings.xml b/src/java/PluginQR/res/values-bg/strings.xml
new file mode 100644
index 00000000..37e0174b
--- /dev/null
+++ b/src/java/PluginQR/res/values-bg/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Баркод Скенер
+ Приложения
+ Отметки
+ Добави в календар
+ Добави контакт
+ Търси Книга
+ Отказ
+ Потребителско търсене
+ Набери телефон
+ Изпрати поща
+ Навигация
+ Изпрати MMS
+ ОК
+ Отвори браузър
+ Търсене на продукт
+ Търси в книга
+ Приложение
+ Отметка
+ Сподели по поща
+ Сподели чрез SMS
+ Клипборд
+ Контакт
+ Покажи карта
+ Изпрати SMS
+ Интернет търсене
+ Свържи се в мрежата
+ Информация за контакт
+ Електронна поща
+ Географски координати
+ Телефон
+ SMS адрес
+ Чист текст
+ Изчисти
+ Изчисти историята
+ История на Баркод Скенера
+ Празно
+ Няма сканирани и записани бар-кодове все още
+ Изпрати историята
+ История
+ Използвай MECARD формат
+ Използвай vCard формат
+ Помощ
+ История
+ Настройки
+ Сподели
+ Масов режим: баркодът е сканиран и записан
+ Съжаляваме, срещнахме проблем с камерата. Може да се наложи да рестартирате устройството си.
+ Формат
+ Допълнение
+ Здравейте
+ Сложете баркода вътре в правоъгълника за да го сканирате.
+ Време
+ Тип
+ Неуспешно кодиране на подадените данни.
+ Google
+ Google
+ Съжаляваме, но нужното приложение не успя да се стартира. Възможно е баркода или съдържанието му да са невалидни.
+ Пренасочване
+ Съжаляваме, тази книга не може да се претърсва.
+ Съжаляваме, срещнахме проблем при търсенето.
+ Няма страница
+ Страница
+ Резултати
+ Търсене на книга\u2026
+ Изрезката не е достъпна
+ Можете да споделяте информация като покажете баркод на екрана, и го сканирате от друг телефон.
+ Или въведете някакъв текст
+ Сигурни ли сте?
+ Съжаляваме, но SD картата не е достъпна.
+ При прочитане на баркод\u2026
+ Използване на автоматично фокусиране
+ Сканирай и запомняй множество баркодове без прекъсване
+ Масово сканиране
+ Копиране в клипборда
+ Използвайте: %s за съдържанието,%f за форматa, %t за типа
+ Потребителски адрес за търсене
+ 1D Баркодове
+ Data Matrix
+ QR Баркодове
+ Заобикаляне на проблеми
+ Използване само на стандартен режим за фокусиране
+ Без непрекъснат фокус
+ Никоя експозиция
+ Автоматичен
+ Неактивен
+ Активен
+ Подобрява четенето при лошо осветление, но предизвиква отблясъци. Само за някои модели.
+ Използвай фенерче
+ Общи настройки
+ Сканиране за бели баркодове на черен фон. Не е на разположение на някои устройства.
+ Обръщане на сканиране
+ Настройки
+ Издаване на звук
+ Записвай множество сканирания на един и същи баркод в историята
+ Запомняне на повторенията
+ Настройки за резултата
+ При сканиране да се декодират\u2026
+ Държава при търсене
+ Опитай да получиш повече информация за баркода
+ Търсене на разширения
+ Опитайте Баркод Скенер+
+ Обогатен с нови характеристики и интерфейс
+ Вибрация
+ Намерих информация за контакт
+ Намерих календарно събитие
+ Намерих адрес на електронна поща
+ Намерих географски координати
+ Намерих книга
+ Намерих продукт
+ Намерих адрес за SMS
+ Намерих телефонен номер
+ Намерих чист текст
+ Намерих Интернет Адрес
+ Намерих настройки за безжична мрежа
+ Гугъл търсене на книга
+ Запитване свързване към мрежата\u2026
+ Име на мрежата
+ Тип
+
diff --git a/src/java/PluginQR/res/values-ca/strings.xml b/src/java/PluginQR/res/values-ca/strings.xml
new file mode 100644
index 00000000..7b30f4bb
--- /dev/null
+++ b/src/java/PluginQR/res/values-ca/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Aplicacions
+ Adreces d\'interès
+ Afegeix a l\'agenda
+ Afegeix el contact
+ Cerca el llibre
+ Cancel·la
+ Cerca personalitzada
+ Marca el número
+ Envia un correu electrònic
+ Obté direccions
+ Envia MMS
+ D\'acord
+ Obre el navegador
+ Cerca un producte
+ Cerca continguts
+ Aplicació
+ Adreça d\'interès
+ Comparteix per correu-e
+ Comparteix per SMS
+ Porta-retalls
+ Contacte
+ Mostra el mapa
+ Envia SMS
+ Cerca al web
+ Connecta a la xarxa
+ Informació de contacte
+ Adreça electrònica
+ Coordenades geogràfiques
+ Número de telèfon
+ Adreça SMS
+ Text pla
+ Neteja
+ Neteja l\'historial
+ Historial del Barcode Scanner
+ Buit
+ No escaneja codis de barres s\'han registrat encara
+ Envia l\'historial
+ Historial
+ Utilitza MECARD
+ Utilitza vCard
+ Ajuda
+ Historial
+ Configuració
+ Comparteix
+ Mode en bloc: codi de barres escanejat i desat
+ S\'ha produït un problema amb la càmera de l\'Android. Potser haureu de reiniciar el dispositiu.
+ Format
+ Metadadades
+ Hola
+ Poseu un codi de barres dins el rectable per escanejar-lo.
+ Hora
+ Tipus
+ No es pot codificar un codi de barres amb les dades proporcionades.
+ Google
+ Google
+ No es pot executar l\'aplicació sol·licitada. És possible que el contingut del codi de barres no sigui vàlid.
+ Redirecciona
+ No es pot cercar en aquest llibre.
+ Hi ha hagut un problema en fer la cerca.
+ No s\'ha retornat cap pàgina
+ Pàgina
+ Resultats
+ S\'està cercant el llibre\u2026
+ Fragment no disponible
+ Podeu compartir dades mostrant un codi de barres a la pantalla i escanejant-lo amb un altre dispositiu.
+ O escriviu un text i pitgeu Retorn
+ N\'esteu segur?
+ La targeta SD no es troba disponible.
+ En trobar un codi de barres\u2026
+ Utilitzeu l\'enfocament automàtic
+ Escaneja i desa molts codis de barres de forma contínua
+ Mode d\'escaneig en bloc
+ Copia al porta-retalls
+ Substitucions: %s = contingut, %f = format, %t = tipus
+ URL de cerca personalitzat
+ Codis de barres 1D
+ Matriu de dades
+ Codis QR
+ Solucions provisionals de dispositius d\'errors
+ Utilitzeu només la manera d\'enfocament estàndard
+ No enfocament continu
+ No hi ha exposició
+ Automàtic
+ Inactiu
+ Actiu
+ Millora l\'escaneig amb poca llum en alguns dispositius, però pot produir enlluernament. No funciona en tots els dispositius.
+ Usa el llum frontal
+ Configuració general
+ Escanejar codis de barres blanques sobre fons negre. No disponible en alguns dispositius.
+ Invertir exploració
+ Configuració
+ Beep
+ Desa diversos escanejos del mateix codi de barres a l\'historial
+ Recorda els duplicats
+ Configuració dels resultats
+ En escanejar codis de barres, descodifica\u2026
+ Cerca per país
+ Intenta obtenir més informació sobre els continguts del codi de barres
+ Aconsegueix més informació
+ Intenta Barcode Scanner+
+ Millorat amb noves característiques i la interfície de
+ Vibració
+ S\'ha trobat informació de contacte
+ S\'ha trobat un esdeveniment
+ S\'ha trobat una adreça electrònica
+ S\'han trobat coordenades geogràfiques
+ S\'ha trobat un llibre
+ S\'ha trobat un producte
+ S\'ha trobat una adreça SMS
+ S\'ha trobat un número de telèfon
+ S\'ha trobat text pla
+ S\'ha trobat un URL
+ S\'ha trobat configuració WLAN
+ Cerca a Google Llibres
+ Sollicitant connexió a la xarxa\u2026
+ Nom de la xarxa
+ Tipus
+
diff --git a/src/java/PluginQR/res/values-cs/strings.xml b/src/java/PluginQR/res/values-cs/strings.xml
new file mode 100644
index 00000000..65f837ca
--- /dev/null
+++ b/src/java/PluginQR/res/values-cs/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Aplikace
+ Záložky
+ Přidat do kalendáře
+ Přidat kontakt
+ Hledat knihu
+ Zrušit
+ Vlastní vyhledávání
+ Číselník
+ Poslat emailem
+ Získat nastavení
+ Poslat přes MMS
+ OK
+ Otevřít prohlížeč
+ Vyhledat produkt
+ Hledat obsah knihy
+ Aplikace
+ Záložky
+ Sdílet pomocí Email
+ Sdílet pomocí SMS
+ Schránka
+ Kontakty
+ Ukázat na mapě
+ Poslat SMS
+ Hledat na webu
+ Připojení k síti
+ Info kontaktu
+ Emailová adresa
+ Zeměpisné údaje
+ Telefonní číslo
+ SMS číslo
+ Ostatní
+ Vyčistit
+ Vyčistit historii
+ Barcode Scanner historie
+ Prázdný
+ Žádný čárový kód vyšetření byly zaznamenány ještě
+ Poslat historii
+ Historie
+ Použití MECARD
+ Použití vCard
+ Pomoc!
+ Historie
+ Nastavení
+ Sdílet
+ Bulk režimu: čárový kód naskenované a uložené
+ Omlouváme se, fotoaparát má problém. Možná bude nutné restartovat zařízení
+ Formát
+ Metadata
+ Ahoj
+ Strefte se čtverečkem na čárový kód
+ Čas
+ Typ
+ Nepodařilo se rozkódovat čárový kód z poskytnutých údajů.
+ Google
+ Google
+ Litujeme, požadovanou aplikaci nelze spustit. Čárový kód je nefunkční.
+ Přesměrování
+ Omlouváme se, tato kniha nelze nalézt.
+ Omlouváme se, narazili jsme na problém.
+ Stránka nenalezena.
+ Stránka
+ Výsledky
+ Hledání knihy\u2026
+ Snippet není k dispozici
+ Můžete sdílet čárový kód na vaší obrazovce a skenování, s jiným telefonem.
+ Nebo zadejte nějaký text
+ Jste si jisti?
+ Omlouváme se, karta SD není přístupná.
+ Byl nalezen čárový kód.\u2026
+ Automatické zaostření
+ Skenování více čárových kódú bez přerušení, vhodné na dávkové zpracování velkého množství čárových kódú
+ Dávkový režim skenování
+ Kopírovat do schránky.
+ Použijte: %s = obsah, %f = formát, %t = typ
+ Vlastní vyhledávání URL
+ 1D kódy
+ Data Matrix
+ QR kódy
+ Možná zástupná řešení chyb zařízení
+ Používejte pouze standardní zaostřování
+ Soustavné zaměření
+ No expozice
+ Automatický
+ Neaktivní
+ Aktivní
+ Zlepšuje skenování při slabém osvětlení na některých telefonech, ale může způsobit oslnění. Nefunguje na všech telefonech.
+ Použít světlo
+ Hlavní nastavení
+ Skenování čárových kódů pro bílé na černém pozadí. Není k dispozici v některých zařízeních.
+ Obrátit skenování
+ Nastavení
+ Zvuky
+ Duplikáty čárových kódú v historii ukládat samostatně, nebo jako jeden čárový kód
+ Pamatovat všechny duplikáty
+ Výsledek nastavení
+ Při skenování čárových kódů pro, dekódovat\u2026
+ Hledání země
+ Získat více informací o obsahu čárového kódu
+ Získat více informací
+ Zkuste Barcode Scanner+
+ Obohacen o nové funkce a rozhraní
+ Vibrace
+ Našel jsem kontakt
+ Našel jsem kalendář
+ Našel jsem Email
+ Našel jsem Zeměpisné informace
+ Našel jsem knihu
+ Našel jsem produkt
+ Našel jsem SMS
+ Našel jsem telefoní číslo
+ Našel jsem nějaký text
+ Našel jsem URL
+ Nalezeno bezdrátová konfigurace
+ Google Knihy hledání
+ Požadující připojení k síti\u2026
+ Jméno sítě
+ Typ
+
diff --git a/src/java/PluginQR/res/values-da/strings.xml b/src/java/PluginQR/res/values-da/strings.xml
new file mode 100644
index 00000000..4f677b15
--- /dev/null
+++ b/src/java/PluginQR/res/values-da/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Applikationer
+ Bogmærker
+ Tilføj til kalendar
+ Tilføj kontaktperson
+ Bogsøgning
+ Annullér
+ Brugerdefineret søgning
+ Ring til nummeret
+ Send e-mail
+ Få kørselsanvisninger
+ Send MMS
+ OK
+ Åben browser
+ Produktsøgning
+ Søg efter indhold
+ Applikationer
+ Bogmærker
+ Del via e-mail
+ Del via SMS
+ Udklipsholder
+ Kontakter
+ Vis kort
+ Send SMS
+ Internetsøgning
+ Forbind til netværk
+ Kontaktinfo
+ E-mailadresse
+ Geografiske koordinater
+ Telefonnummer
+ SMS-adresse
+ Almindelig tekst
+ Ryd
+ Ryd historik
+ Barcode Scanner-historik
+ Tom
+ Ingen stregkodescanninger er blevet registreret endnu
+ Send historik
+ Historik
+ Brug MECARD
+ Brug vCard
+ Hjælp
+ Historik
+ Indstillinger
+ Del
+ Massetilstand: stregkode scannet og gemt
+ Beklager, Android-kameraet er stødt på et problem. Du skal muligvis genstarte enheden.
+ Format
+ Metadata
+ Hej
+ Placér en stregkode inden i firkanten for at aflæse den.
+ Tid
+ Type
+ Kunne ikke indkode en stregkode fra oplysningerne givet.
+ Google
+ Google
+ Beklager, den ønskede applikation kunne ikke blive startet. Stregkodeindholdet er måsket ugyldigt.
+ Omdirigér
+ Beklager, denne bog er ikke søgbar.
+ Beklager, søgningen er stødt på et problem.
+ Ingen side returnerede
+ Side
+ Resultater
+ Søger bog\u2026
+ Uddragsvisning ikke tilgængelig
+ Du kan dele data ved at vise en stregkode på denne skærm, og derefter scanne den med en anden telefon.
+ Eller skriv noget tekst
+ Er du sikker?
+ Beklager, SD-kortet er ikke tilgængelig.
+ Når en stregkode er fundet\u2026
+ Brug autofokus
+ Scan og gem mange stregkoder uden afbrydelser
+ Massescanningstilstand
+ Kopiér til udklipsholder
+ Udskiftninger: %s = indhold, %f = format, %t = type
+ Brugerdefineret søge-URL
+ Afkod 1D-stregkoder
+ Afkod Data Matrix
+ Afkod QR-koder
+ Device Bug Løsninger
+ Brug kun standard fokusindstilling
+ Ingen løbende fokus
+ Ingen eksponering
+ Automatisk
+ Inaktiv
+ Aktiv
+ Forbedrer aflæsning i svagt lys på nogle telefoner, men kan medføre genskær. Virker ikke på alle telefoner.
+ Brug frontlys
+ Generelle indstillinger
+ Scan for hvide stregkoder på sort baggrund. Ikke tilgængelig på nogle enheder.
+ Inverter scanning
+ Indstillinger
+ Bip
+ Gem flere scanninger af de samme stregkoder i Historik
+ Husk dubletter
+ Resultatindstillinger
+ Når der scannes efter stregkoder\u2026
+ Søg efter land
+ Prøv at få flere oplysninger om stregkodens indhold
+ Hent mere info
+ Prøv Barcode Scanner+
+ Forbedret med nye funktioner og grænseflade
+ Vibrér
+ Kontaktinfo fundet
+ Kalendarbegivenhed fundet
+ E-mailadresse fundet
+ Geografiske koordinater fundet
+ Bog fundet
+ Produkt fundet
+ SMS-adresse fundet
+ Telefonnummer fundet
+ Almindelig tekst fundet
+ URL fundet
+ WLAN-forbindelse fundet
+ Google Bøger-søgning
+ Anmoder om tilslutning til netværk\u2026
+ Netværksnavn
+ Type
+
diff --git a/src/java/PluginQR/res/values-de/strings.xml b/src/java/PluginQR/res/values-de/strings.xml
new file mode 100644
index 00000000..e43a90b6
--- /dev/null
+++ b/src/java/PluginQR/res/values-de/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Anwendungen
+ Lesezeichen
+ Termin hinzufügen
+ Kontakt hinzufügen
+ Büchersuche
+ Abbruch
+ Benutzersuche
+ Nummer wählen
+ E-Mail senden
+ Route berechnen
+ MMS senden
+ OK
+ Browser öffnen
+ Produktsuche
+ Buchinhalt durchsuchen
+ Anwendung
+ Lesezeichen
+ Als E-Mail weitergeben
+ Als SMS weitergeben
+ Zwischenablage
+ Kontakt
+ Karte anzeigen
+ SMS senden
+ Im Web suchen
+ Mit diesem WLAN verbinden
+ Kontaktinfo
+ E-Mail Adresse
+ Koordinaten
+ Telefonnummer
+ SMS Adresse
+ Text
+ Löschen
+ Verlauf löschen
+ Barcode Scanner Verlauf
+ Leer
+ Es wurden keine Barcodes aufgezeichnet.
+ Verlauf senden
+ Verlauf
+ MECARD verwenden
+ vCard verwenden
+ Hilfe
+ Verlauf
+ Einstellungen
+ Senden
+ Bulk-Modus: Barcode gescannt und gespeichert
+ Mit der Android-Kamera ist leider ein Fehler aufgetreten. Es könnte sein, dass Sie das Gerät neu starten müssen.
+ Format
+ Metadaten
+ Hi
+ Positionieren Sie den Barcode innerhalb des Rechteckes.
+ Zeit
+ Typ
+ Aus den Daten kann kein Barcode erzeugt werden.
+ Google
+ Google
+ Die gewünschte Applikation kann nicht geöffnet werden. Der Barcode könnte ungültig sein.
+ Umleiten
+ Dieses Buch kann nicht durchsucht werden.
+ Bei der Suche ist ein Fehler aufgetreten.
+ Keine Seite zurückgeliefert.
+ Seite
+ Ergebnisse
+ Durchsuche Buch\u2026
+ Textschnipsel nicht verfügbar.
+ Sie können Daten weitergeben, indem Sie einen Barcode auf Ihrem Bildschirm erzeugen und mit einem anderen Handy einscannen.
+ Oder geben Sie hier einen Text ein
+ Sind Sie sicher?
+ Leider kann nicht auf die SD-Karte zugegriffen werden.
+ Wenn ein Barcode erkannt wurde\u2026
+ Autofokus verwenden
+ Scannt und speichert mehrere Barcodes nacheinander
+ Massenscan
+ In die Zwischenablage kopieren
+ Platzhalter: %s = Inhalt, %f = Format, %t = Typ
+ Eigene Such-URL
+ 1D Barcodes
+ Data Matrix
+ QR Codes
+ Geräteabhängige Problemumgehung
+ Nur Standard-Fokus-Modus verwenden
+ Kein kontinuierlicher Fokus
+ Keine Belichtungsmessung
+ Automatisch
+ Aus
+ Ein
+ Verbessert bei einigen Mobiltelefonen das Scannen bei schwachem Licht, kann aber Überbelichtung verursachen. Funktioniert nicht mit allen Handys.
+ Foto LED einschalten
+ Allgemeine Einstellungen
+ Für weiße Barcodes auf schwarzem Hintergrund. Nicht bei allen Geräten verfügbar.
+ Negativ-Scan
+ Einstellungen
+ Piepsen
+ Speichern mehrerer Scans des gleichen Barcodes im Verlauf
+ Duplikate speichern
+ Ergebnis-Einstellungen
+ Beim Scannen von Barcodes, dekodieren\u2026
+ Land für die Suche
+ Erfahren Sie mehr über den Barcode
+ Weitere Informationen abrufen
+ Barcode Scanner+ testen
+ Mit mehr Funktionen und neuer Oberfläche.
+ Vibrieren
+ Kontakt gefunden
+ Termin gefunden
+ E-Mail-Adresse gefunden
+ Koordinaten gefunden
+ Buch gefunden
+ Produkt gefunden
+ SMS-Adresse gefunden
+ Telefonnummer gefunden
+ Text gefunden
+ URL gefunden
+ WLAN-Konfiguration gefunden
+ Google Book Search
+ Verbindung zum Netzwerk anfordern\u2026
+ WLAN-Name:
+ Verschlüsselung:
+
\ No newline at end of file
diff --git a/src/java/PluginQR/res/values-el/strings.xml b/src/java/PluginQR/res/values-el/strings.xml
new file mode 100644
index 00000000..f2c8285c
--- /dev/null
+++ b/src/java/PluginQR/res/values-el/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Εφαρμογές
+ Σελιδοδείκτες
+ Προσθήκη στο ημερολόγιο
+ Προσθήκη στις επαφές
+ Αναζήτηση βιβλίων
+ Ακύρωση
+ Σύνθετη αναζήτηση
+ Κλήση αριθμού
+ Αποστολή email
+ Λάβετε κατευθύνσεις
+ Αποστολή MMS
+ OK
+ Άνοιγμα browser
+ Αναζήτηση προϊόντων
+ Αναζήτηση περιεχομένων
+ Εφαρμογή
+ Σελιδοδείκτης
+ Μοιράσου με email
+ Μοιράσου με SMS
+ Πρόχειρο
+ Επαφή
+ Δείξε χάρτη
+ Στείλε SMS
+ Αναζήτηση ιστού
+ Σύνδεση σε Δίκτυο
+ Πληροφορίες επαφής
+ Διεύθυνση email
+ Γεωγραφικές συντεταγμένες
+ Τηλέφωνο
+ Διεύθνση SMS
+ Απλό κείμενο
+ Διαγραφή
+ Διαγραφή ιστορικού
+ Ιστορικό Barcode Scanner
+ Κενό
+ Δεν έχουν καταγραφεί σαρώσεις barcode
+ Αποστολή ιστορικού
+ Ιστορικό
+ Χρησιμοποιήστε MECARD
+ Χρησιμοποιήστε vCard
+ Βοήθεια
+ Ιστορικό
+ Ρυθμίσεις
+ Κοινή χρήση
+ Μαζική λειτουργία: barcode σκαναρίστηκε και αποθηκεύτηκε
+ Συγνώμη, προέκυψε ένα πρόβλημα με την κάμερα. Ίσως χρειαστεί να επανεκιννήσετε τη συσκευή.
+ Διαμόρφωση
+ Metadata
+ Γεια
+ Τοποθετήστε ένα barcode μέσα στο πλαίσιο για να το σκανάρετε.
+ Ωρα
+ Τύπος
+ Δεν γίνεται να παραχθεί barcode από αυτά τα δεδομένα.
+ Google
+ Google
+ Συγνώμη, η ζητούμενη εφαρμογή δεν μπορεί να εκιννηθεί. Τα δεδομληνα του barcode ίσως δεν είναι έγκυρα.
+ Ανακατεύθυνση
+ Συγνώμη, αυτό το βιβλίο δεν βρέθηκε.
+ Συγνώμη, η αναζήτηση παρουσίασε πρόβλημα.
+ Δεν βρέθηκε σελίδα
+ Σελίδα
+ Αποτελέσματα
+ Άναζήτηση βιβλίου\u2026
+ Απόσπασμα μη διαθέσιμο
+ Μπορείς να μοιραστείς δεδομένα εμφανίζοντας ένα barcode στην οθόνη σου και σκανάροντάς το με ένα άλλο κινητό.
+ Ή πληκτολογήστε εδώ κείμενο και πατήστε Enter
+ Είσαι σίγουρος;
+ Συγνώμη, η κάρτα SD δεν είναι προσβάσιμη.
+ Όταν ένα barcode ανιχνεύεται\u2026
+ Χρησιμοποιήστε την αυτόματη εστίαση
+ Σκανάρετε και αποθηκεύστε συνεχόμενα πολλά barcodes
+ Λειτουργία μαζικού σκαναρίσματος
+ Αντιγραφή στο πρόχειρο
+ Αντικαταστάσεις: %s = περιεχόμενο, %f = μορφή, %t = τύπος
+ Σύνθετη αναζήτηση
+ 1D barcodes
+ Data Matrix
+ QR Codes
+ Λύσεις Bug συσκευής
+ Χρησιμοποιείτε μόνο τυπική λειτουργία εστίασης
+ Δεν συνεχής εστίαση
+ Δεν έκθεση
+ Αυτόματο
+ Αδρανής
+ Ενεργός
+ Βελτιώνει το σκανάρισμα με χαμηλο φωτισμό σε μερικά κινητά, ίσως όμως προκαλέσει λάμψη. Δουλεύει σε μερικά κινητά.
+ Χρήση μπροστινού φακού
+ Γενικές ρυθμίσεις
+ Σάρωση για τη λευκή barcodes σε μαύρο φόντο. Δεν διατίθεται σε ορισμένες συσκευές.
+ Αντιστροφή της σάρωσης
+ Ρυθμίσεις
+ Μπιπ
+ Αποθήκευση πολλαπλών σκαναρισμάτων του ίδιου barcode στο ιστορικό
+ Απομνημόνευση διπλότυπων
+ Ρυθμίσεις αποτελεσμάτων
+ Όταν σκανάρεις barcodes, ψάχνε για\u2026
+ Χώρα Αναζήτησης
+ Προσπάθησε να βρείς περισσότερες πληροφορίες για τα περιεχόμενα του barcode
+ Αναζήτηση για επιπλέον πληροφορίες
+ Δοκιμάστε Barcode Scanner+
+ Ενισχυμένη με νέα χαρακτηριστικά και διασύνδεση
+ Δόνηση
+ Βρέθηκαν πληροφορίες επαφής
+ Βρέθηκε συμβάν ημερολογίου
+ Βρέθηκε email
+ Βρέθηκαν γεωγραφικές συντεταγμένες
+ Βρέθηκε βιβλίο
+ Βρέθηκε προϊόν
+ Βρέθηκε διεύθυνση SMS
+ Βρέθηκε τηλέφωνο
+ Βρέθηκε κείμενο
+ Βρέθηκε ηλ. διεύθυνση
+ Βρέθηκαν ρυθμίσεις Wi-Fi
+ Αναζήτηση βιβλίων Google
+ Αίτηση σύνδεσης με το δίκτυο\u2026
+ Όνομα Δικτύου
+ Τύπος
+
diff --git a/src/java/PluginQR/res/values-es/strings.xml b/src/java/PluginQR/res/values-es/strings.xml
new file mode 100644
index 00000000..60b250f2
--- /dev/null
+++ b/src/java/PluginQR/res/values-es/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Aplicaciones
+ Marcadores
+ Añadir al calendario
+ Añadir contacto
+ Búsqueda de libros
+ Cancelar
+ Búsqueda personalizada
+ Marcar número
+ Enviar correo electrónico
+ Obtener direcciones
+ Enviar MMS
+ OK
+ Abrir navegador
+ Búsqueda de productos
+ Buscar contenido del libro
+ Aplicación
+ Marcador
+ Compartir por correo electrónico
+ Compartir por SMS
+ Portapapeles
+ Contacto
+ Mostrar mapa
+ Enviar SMS
+ Búsqueda Web
+ Conectarse a la red
+ Información de contacto
+ Dirección de correo electrónico
+ Coordenadas geográficas
+ Número de teléfono
+ Dirección SMS
+ Texto
+ Borrar
+ Borrar historial
+ Historial de Escáner de código de barras
+ Vacío
+ Ningún escanea de códigos de barras se han registrado aún
+ Enviar historial
+ Historial
+ Usar MECARD
+ Usar vCard
+ Ayuda
+ Historial
+ Configuración
+ Compartir
+ Modo Masivo: código de barras escaneado y guardado
+ Lo sentimos, la cámara de Android ha encontrado un problema. Es posible que necesite reiniciar el dispositivo.
+ Formato
+ Metadata
+ Hola
+ Coloque un código de barras en el interior del rectángulo del visor para escanear.
+ Tiempo
+ Tipo
+ No se pudo codificar un código de barras a partir de los datos facilitados.
+ Google
+ Google
+ Lo sentimos, la aplicación solicitada no pudo ser lanzada. El contenido de código de barras puede ser inválida.
+ Redirigir
+ Lo sentimos, no se puede buscar en este libro.
+ Lo sentimos, la búsqueda ha detectado un problema.
+ Página no encontrada
+ Página
+ Resultados
+ Buscando libro\u2026
+ Fragmentos no están disponibles
+ Usted puede compartir los datos mostrando un código de barras en su pantalla y escanearlo con otro teléfono.
+ O escriba algún texto y presione Enter
+ ¿Está seguro?
+ Lo sentimos, la tarjeta SD no está accesible.
+ Cuando encuentra un código de barras\u2026
+ Utilizar el enfoque automático
+ Escanear y guardar muchos códigos de barras de forma continua
+ Modo masivo de escaneo
+ Copiar al portapapeles
+ Sustituciones: %s = contenido, %f = formato, %t = tipo
+ Búsqueda de productos con URL personalizada
+ Códigos de barras 1D
+ Data Matrix
+ Códigos QR
+ Soluciones provisionales para dispositivos con errores
+ Utilice sólo el modo de enfoque estándar
+ No enfoque continuo
+ No exposición
+ Automático
+ Inactivo
+ Activo
+ Mejora la exploración en condiciones de poca luz en algunos teléfonos, pero puede causar deslumbramiento. No funciona en todos los teléfonos.
+ Utilizar luz delantera
+ Configuración general
+ Escanear códigos de barras blancas sobre fondo negro. No disponible en algunos dispositivos.
+ Invertir exploración
+ Configuración
+ Bip
+ Almacenar múltiples escáneres del mismo código de barras en el Historial.
+ Recuerde duplicados
+ Configuración de resultados
+ Al escanear códigos de barras, descodificar\u2026
+ Buscar país
+ Trata de recuperar más información sobre el contenido del código de barras.
+ Recuperar más información
+ Trate Barcode Scanner+
+ Mejorado con nuevas características y la interfaz de
+ Vibrar
+ Información de contacto encontrada
+ Evento de calendario encontrado
+ Dirección de correo electrónico encontrado
+ Coordenadas geográficas encontradas
+ Libro encontrado
+ Producto encontrado
+ Dirección de SMS encontrado
+ Número de teléfono encontrado
+ Texto encontrado
+ URL encontrada
+ Configuración de WLAN encontrada
+ Búsqueda de libros de Google
+ Solicitando conexión a la red\u2026
+ Nombre de red
+ Tipo
+
diff --git a/src/java/PluginQR/res/values-eu/strings.xml b/src/java/PluginQR/res/values-eu/strings.xml
new file mode 100644
index 00000000..16b5d06a
--- /dev/null
+++ b/src/java/PluginQR/res/values-eu/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barra-kode Eskanerra
+ Aplikazioak
+ Laster-markak
+ Gehitu egutegian
+ Gehitu kontaktua
+ Bilatu liburua
+ Utzi
+ Bilaketa pertsonalizatua
+ Markatu zenbakia
+ Bidali e-posta
+ Lortu jarraibideak
+ Bidali MMS-a
+ Ados
+ Ireki arakatzailea
+ Produktu bilaketa
+ Bilatu edukiak
+ Aplikazioa
+ Laster-marka
+ Partekatu e-posta bidez
+ Partekatu SMS bidez
+ Arbela
+ Kontaktua
+ Erakutsi mapa
+ Bidali SMS-a
+ Web bilaketa
+ Konektatu sarera
+ Kontaktuaren informazioa
+ E-posta helbidea
+ Koordenatu geografikoak
+ Telefono zenbakia
+ SMS helbidea
+ Testu laua
+ Garbitu
+ Garbitu historia
+ Barra-kode Eskanerraren historia
+ Hutsik
+ Ez da inoiz barra-koderik gorde
+ Bidali historia
+ Historia
+ Erabili MECARD
+ Erabili vCard
+ Laguntza
+ Historia
+ Ezarpenak
+ Partekatu
+ Handizkako modua: barra-kodea eskaneatuta eta gordeta
+ Barkatu, Android kamerak arazo bat izan du. Behar bada gailua berrabiarazi beharko duzu.
+ Formatua
+ Metadatuak
+ Kaixo
+ Kokatu barra-kode bat laukizuzenaren barruan eskaneatzeko.
+ Denbora
+ Mota
+ Ezin izan da barra-kode bat kodetu emandako datuetatik.
+ Google
+ Google
+ Barkatu, eskatutako aplikazioa ezin izan da abiarazi. Behar bada barra-kodearen edukiak baliogabeak dira.
+ Berbideratu
+ Barkatu, liburu honetan ezin da bilaketarik egin.
+ Barkatu, bilaketak arazo bat izan du.
+ Ez da orririk itzuli
+ Orria
+ Emaitzak
+ Liburua arakatzen\u2026
+ Lagina ez dago eskuragarri
+ Datuak parteka ditzakezu zure pantailan barra-kode bat bistaratu eta beste telefono batekin eskaneatuz.
+ Edo idatzi zerbait eta sakatu Enter
+ Ziur zaude?
+ Barkatu, SD txartela ez dago eskuragarri.
+ Barra kode bat aurkitzean\u2026
+ Erabili auto foku
+ Eskaneatu eta gorde hainbat barra-kode jarraian
+ Handizkako eskaneatze modua
+ Kopiatu arbelera
+ Ordezkapenak: %s = edukiak, %f = formatua, %t = mota
+ Bilaketa URL pertsonalizatua
+ 1D barra-kodeak
+ Datu Matrizeak
+ QR Kodeak
+ Gailuak Bug konponbidea
+ Erabili estandarrean soilik fokuaren modua
+ Etengabeko foku No
+ Esposizio No
+ Automatikoa
+ Ezgaitutako
+ Aktiboak
+ Eskaneatzea hobetzen du zenbait telefonotan argiztapena txikia denean, baina distirak eragin ditzake. Ez du telefono guztietan funtzionatzen.
+ Erabili aurreko argia
+ Ezarpen orokorrak
+ Atzeko plano beltzean kodeak zuri eskaneatzeko. Zenbait gailuk ez dago eskuragarri.
+ Alderantzikatu eskaneatzeko
+ Ezarpenak
+ Soinu-seinalea
+ Gorde barra-kode beraren hainbat eskaneatze Historian
+ Gogoratu errepikatuak
+ Emaitzen ezarpenak
+ Barra-kodeak eskaneatzean, deskodetu\u2026
+ Bilatu herrialdea
+ Saiatu barra-kodearen edukiei buruzko informazio gehiago eskuratzen
+ Eskuratu informazio gehiago
+ Saiatu Barcode Scanner+
+ Ezaugarri berri eta interfaze indartu
+ Bibratu
+ Kontaktu-informazioa aurkitu da
+ Egutegiko gertaera aurkitu da
+ E-posta helbidea aurkitu da
+ Koordenatu geografikoak aurkitu dira
+ Liburua aurkitu da
+ Produktua aurkitu da
+ SMS helbidea aurkitu da
+ Telefono zenbakia aurkitu da
+ Testu laua aurkitu da
+ URL-a aurkitu da
+ WLAN Konfigurazioa aurkitu da
+ Google Book Bilaketa
+ Sarerako konexioa eskatzen\u2026
+ Sarearen Izena
+ Mota
+
diff --git a/src/java/PluginQR/res/values-fi/strings.xml b/src/java/PluginQR/res/values-fi/strings.xml
new file mode 100644
index 00000000..6dfdaf72
--- /dev/null
+++ b/src/java/PluginQR/res/values-fi/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Ohjelmat
+ Kirjanmerkit
+ Lisää kalenteriin
+ Lisää yhteystieto
+ Kirjahaku
+ Peruuta
+ Mukautettu haku
+ Soita numeroon
+ Lähetä sähköpostia
+ Hae ajo-ohjeet
+ Lähetä multimediaviesti
+ OK
+ Avaa selain
+ Tuotehaku
+ Hae kirjan sisältö
+ Ohjelma
+ Kirjanmerkki
+ Jaa sähköpostilla
+ Jaa tekstiviestillä
+ Leikepöytä
+ Kontakti
+ Näytä kartta
+ Lähetä tekstiviesti
+ Haku netistä
+ Yhdistä verkkoon
+ Yhteystiedot
+ Sähköpostiosoite
+ Karttakoordinaatit
+ Puhelinnumero
+ Tekstiviestin osoite
+ Teksti
+ Tyhjennä
+ Tyhjennä historia
+ Viivakoodien historia
+ Tyhjä
+ Ei tallennettuja viivakoodeja
+ Lähetä historia
+ Historia
+ Käytä MECARD:ia
+ Käytä vCard:ia
+ Ohje
+ Historia
+ Asetukset
+ Jaa
+ Toistotila: viivakoodi luettu ja tallennetttu
+ Valitettavasti Androidin kameran toimiinta häiriintyi. Joudut ehkä käynnistämään laitteen uudelleen.
+ Muoto
+ Metatiedot
+ Hei
+ Aseta viivakoodi neliön sisälle skannataksesi sen.
+ Aika
+ Tyyppi
+ Viivakoodia ei voitu muodostaa annetusta datasta.
+ Google
+ Google
+ Valitettavasti pyydettyä sovellusta ei voitu käynnistää. Viivakoodin sisältö voi olla virheellinen.
+ Uudelleenohjaus
+ Valitettavasti tämä kirja ei ole haettavissa.
+ Valitettavasti haussa tapahtui virhe.
+ Sivua ei löydy/ei vastausta
+ Sivu
+ Tulokset
+ Haetaan kirjaa\u2026
+ Kappaletta ei saatavilla
+ Voit jakaa dataa näyttämällä viivakoodin laitteesi näytöllä ja lukemalla sen toisella laitteella.
+ Tai kirjoita tekstiä ja lopeta Enterillä
+ Oletko varma?
+ SD-kortti ei ole käytettävissä.
+ Kun viivakoodi löytyy\u2026
+ Käytä automaattista tarkennusta
+ Skannaa ja tallenna viivakoodeja jatkuvasti
+ Jatkuva skannaus
+ Kopioi leikepöydälle
+ Seuraavat korvataan: %s = sisältö, %f = formaatti, %t = tyyppi
+ Mukautettu hakukone
+ 1D-viivakoodit
+ Data Matrix
+ QR-koodit
+ Laitteen vikojen kiertäminen
+ Käytä vain vakiotarkennusta
+ Ei jatkuvaa tarkennusta
+ Ei valotusta
+ Automaattinen
+ Pois
+ Päällä
+ Parantaa joissain laitteissa hämärässä skannaamista, mutta voi aiheuttaa häikäisyongelmia. Ei toimi kaikissa puhelimissa.
+ Käytä etuosan valoa
+ Yleiset asetukset
+ Etsi valkoisia viivakoodeja mustalla taustalla. Ei toimi kaikilla laitteilla.
+ Käänteinen (negatiivin) skannaus
+ Asetukset
+ Piippaus
+ Jos sama viivakoodi skannetaan useasti, tallenna jokainen skannauskerta historiaan
+ Muista kaksoiskappaleet
+ Tuloksien asetukset
+ Kun skannataan viivakoodeja, dekoodaa\u2026
+ Etsi maasta
+ Yritä hakea lisätietoja viivakoodin sisällöstä
+ Hae lisää tietoa
+ Kokeile Barcode Scanner+ -ohjelmaa
+ Parannettu uusilla ominaisuuksilla ja käyttöliittymällä
+ Värinä
+ Löydettiin yhteystietoja
+ Löydettiin kalenteritapahtuma
+ Löydettiin sähköpostiosoite
+ Löydettiin koordinaatteja
+ Löydettiin kirja
+ Löydettiin tuote
+ Löydettiin tekstiviestinumero
+ Löydettiin puhelinnumero
+ Löydettiin teksti
+ Löydettin URL-osoite
+ Löydettiin asetukset langattomalle yhteydelle
+ Googlen kirjahaku
+ Pyydetään yhteyttä verkkoon\u2026
+ Verkon nimi
+ Tyyppi
+
diff --git a/src/java/PluginQR/res/values-fr/strings.xml b/src/java/PluginQR/res/values-fr/strings.xml
new file mode 100644
index 00000000..536657b5
--- /dev/null
+++ b/src/java/PluginQR/res/values-fr/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Applications
+ Marque-pages
+ Ajouter à l\'agenda
+ Ajouter un contact
+ Recherche de livres
+ Annuler
+ Recherche personnalisée
+ Composer numéro
+ Envoyer email
+ Itinéraire
+ Envoyer MMS
+ OK
+ Ouvrir le navigateur
+ Recherche de produits
+ Rechercher dans le contenu
+ Application
+ Marque-page
+ Partager par email
+ Partager par SMS
+ Presse-papier
+ Contact
+ Afficher la carte
+ Envoyer SMS
+ Recherche Web
+ Se connecter au réseau
+ Informations de contact
+ Adresse email
+ Coordonnées géographiques
+ Numéro de téléphone
+ Adresse SMS
+ Texte
+ Effacer
+ Effacer l\'historique
+ Historique de Barcode Scanner
+ Vide
+ Aucun code-barre scanné n\'a encore été enregistré
+ Envoyer historique
+ Historique
+ Format MECARD
+ Format vCard
+ Aide
+ Historique
+ Paramètres
+ Partager
+ Mode lecture en rafale : code-barres scanné et enregistré
+ Désolé, la caméra Android a rencontré un problème. Un redémarrage de l\'appareil est peut-être nécessaire.
+ Format
+ Métadonnées
+ Salut
+ Placer un code-barres à l\'intérieur du rectangle pour le scanner.
+ Temps
+ Type
+ Impossible de créer le code-barres à partir des données fournies.
+ Google
+ Google
+ Désolé, l\'application demandée n\'a pas pu être lancée. Le contenu du code-barres n\'est peut-être pas valable.
+ Redirection
+ Désolé, ce livre est introuvable.
+ Désolé, la recherche a rencontré un problème.
+ Page non trouvée
+ Page
+ Résultats
+ Recherche du livre\u2026
+ Extrait non disponible
+ Vous pouvez partager des données en affichant un code-barres sur votre écran et en le scannant avec un autre téléphone.
+ Ou tapez du texte
+ Êtes-vous sûr ?
+ Désolé, la carte SD n\'est pas accessible.
+ Quand un code-barres est trouvé\u2026
+ Utiliser l\'autofocus
+ Scanner et enregistrer plusieurs codes-barres d\'affilée
+ Mode de lecture en rafale
+ Copier dans le presse-papier
+ Remplacements : %s = contenu, %f = format, %t = type
+ URL de recherche personnalisée
+ Codes-barres 1D
+ Data Matrix
+ Codes QR
+ Solutions de contournement des bugs de l\'appareil
+ Utiliser uniquement le mode de mise au point standard
+ Pas de mise au point continue
+ Pas d\'exposition
+ Automatique
+ Inactif
+ Actif
+ Allumer la lampe derrière le téléphone quand la lumière ambiante est faible. Peut provoquer des reflets et ne fonctionne pas sur tous les téléphones.
+ Flash
+ Paramètres généraux
+ Scanner des codes-barres blancs sur fond noir. Pas disponible sur certains appareils.
+ Scan négatif
+ Paramètres
+ Bip
+ Enregistrer dans l\'historique les lectures multiples d\'un même code-barres
+ Enregistrer les doublons
+ Paramètres d\'un résultat
+ Pendant le scan de codes-barres, décoder\u2026
+ Pays de recherche
+ Essayer d\'obtenir plus d\'informations sur le contenu du code-barres
+ Obtenir plus d\'informations
+ Essayez Barcode Scanner+
+ Amélioré avec des fonctionnalités et une interface nouvelles
+ Vibreur
+ Informations de contact trouvées
+ Événement pour l\'agenda trouvé
+ Adresse email trouvée
+ Coordonnées géographiques trouvées
+ Livre trouvé
+ Produit trouvé
+ Adresse SMS trouvée
+ Numéro de téléphone trouvé
+ Texte seul trouvé
+ URL trouvée
+ Configuration de réseau Wi-Fi trouvée
+ Recherche Google Livres
+ Demande de connexion au réseau\u2026
+ Nom du réseau Wi-Fi
+ Type
+
diff --git a/src/java/PluginQR/res/values-he/strings.xml b/src/java/PluginQR/res/values-he/strings.xml
new file mode 100644
index 00000000..1577e7f0
--- /dev/null
+++ b/src/java/PluginQR/res/values-he/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ סורק ברקודים
+ יישומים
+ סימניות
+ הוסף ללוח שנה
+ הוספת איש קשר
+ חיפוש ספר
+ ביטול
+ חיפוש מותאם אישית
+ חייג מספר
+ שלח דואר אלקטרוני
+ קבל הוראות הגעה
+ שלח הודעת מולטימדיה
+ אישור
+ פתח את הדפדפן
+ חיפוש מוצר
+ חיפוש בתוכן
+ יישום
+ סימניה
+ שתף בדואר אלקטרוני
+ שתף בהודעה
+ לוח עריכה
+ איש קשר
+ הצג מפה
+ שלח הודעה
+ חיפוש באינטרנט
+ התחבר לרשת
+ פרטי איש קשר
+ כתובת דואר אלקטרוני
+ קואורדינטות גאוגרפיות
+ מספר טלפון
+ כתובת SMS
+ טקסט רגיל
+ נקה
+ נקה היסטוריה
+ היסטוריית סורק הברקודים
+ ריק
+ ברקודים לא נרשמו
+ שלח היסטוריה
+ היסטוריה
+ השתמש MECARD
+ השתמש vCard
+ עזרה
+ היסטוריה
+ הגדרות
+ שתף
+ מצב קבוצה: ברקוד נסרק ונשמר
+ סליחה, מצלמת האנדרואיד נתקלה בבעיה. ייתכן שיהיה עליך להפעיל מחדש את המכשיר.
+ פורמט
+ מטה-נתונים
+ היי
+ הצב ברקוד בתוך המלבן כדי לסרוק אותו.
+ זמן
+ סוג
+ לא היתה אפשרות לקודד ברקוד מהנתונים שסופקו.
+ Google
+ Google
+ סליחה, לא ניתן להפעיל את היישום המבוקש. ייתכן שתוכן הברקוד לא תקין.
+ נתב מחדש
+ סליחה, ספר זה אינו ניתן לחיפוש.
+ סליחה, החיפוש נתקל בבעיה.
+ לא הוחזר דף
+ דף
+ תוצאות
+ מחפש ספר\u2026
+ גזיר לא זמין
+ באפשרותך לשתף נתונים על-ידי הצגת ברקוד על המסך וסריקתו עם טלפון אחר.
+ או הקלד טקסט כלשהו
+ האם אתה בטוח?
+ סליחה, כרטיס הזכרון אינו נגיש.
+ כאשר ברקוד נמצא\u2026
+ להשתמש במיקוד האוטומטי
+ סורק ושומר ברקודים באופן רציף
+ מצב סריקה מרובה
+ העתק ללוח
+ החלפות: s% = התוכן, f% = הפורמט, t% = סוג
+ כתובת לחיפוש מותאם אישית
+ ברקודים חד מימדיים
+ מטריצת נתונים
+ קודי QR
+ באג במכשיר דרכים לעקיפת הבעיה
+ השתמש רק במצב רגיל פוקוס
+ המיקוד לא רציפה
+ אין חשיפה
+ אוטומטי
+ לא פעיל
+ פעיל
+ משפר את הסריקה בתאורה נמוכה בטלפונים מסוימים, אך עשוי לגרום לסנוור. לא עובד בכל הטלפונים.
+ השתמש באור הקדמי
+ הגדרות כלליות
+ סרוק ברקודים לבן על רקע שחור. לא זמין על התקנים מסוימים.
+ היפוך לסרוק
+ הגדרות
+ צפצוף
+ אחסן מספר סריקות של אותו הברקוד בהיסטוריה
+ זכור כפילויות
+ הגדרות תוצאה
+ בעת סריקת ברקודים, קודד\u2026
+ חיפוש הארץ
+ נסה למצא מידע נוסף על תוכן הברקוד
+ מצא מידע נוסף
+ נסה סורק ברקודים+
+ משופר עם תכונות וממשק חדשים
+ רטט
+ נמצא מידע של איש קשר
+ נמצא אירוע
+ נמצאה כתובת דוא"ל
+ נמצאו קואורדינטות גיאוגרפיות
+ נמצא ספר
+ נמצא מוצר
+ נמצאה כתובת הודעה
+ נמצא מספר טלפון
+ נמצא טקסט
+ נמצאה כתובת אינטרנט
+ נמצאו הגדרות רשת אל חוטית
+ Google חיפוש ספרים
+ בקשת חיבור לרשת \u2026
+ שם רשת
+ סוג
+
diff --git a/src/java/PluginQR/res/values-hi/strings.xml b/src/java/PluginQR/res/values-hi/strings.xml
new file mode 100644
index 00000000..329819b3
--- /dev/null
+++ b/src/java/PluginQR/res/values-hi/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ बारकोड स्कैनर
+ अनुप्रयोगों
+ बुकमार्क्स
+ कैलेंडर के लिए जोड़ें
+ संपर्क जोड़ें
+ पुस्तक खोज
+ रद्द करना
+ कस्टम खोज
+ डायल नंबर
+ ईमेल भेजें
+ निर्देश प्राप्त करें
+ एमएमएस भेजें
+ ठीक है
+ ओपन ब्राउज़र
+ उत्पाद खोज
+ खोज सामग्री
+ आवेदन
+ बुकमार्क
+ ईमेल के माध्यम से साझा करें
+ एसएमएस के जरिए शेयर
+ क्लिपबोर्ड
+ संपर्क
+ नक्शा दिखाएँ
+ एसएमएस भेजें
+ वेब खोज
+ नेटवर्क कनेक्ट करें
+ संपर्क जानकारी
+ ईमेल पता
+ भौगोलिक निर्देशांक
+ फ़ोन नंबर
+ एसएमएस पता
+ सादा पाठ
+ हटाएँ
+ इतिहास हटाएँ
+ बारकोड स्कैनर इतिहास
+ खाली
+ अभी तक कोई बारकोड स्कैन दर्ज किया गया है
+ इतिहास भेजें
+ इतिहास
+ MECARD का प्रयोग करें
+ vCard का प्रयोग करें
+ मदद
+ इतिहास
+ सेटिंग्स
+ शेयर
+ थोक मोड: बारकोड स्कैन और बचाया
+ क्षमा करें, Android कैमरा एक समस्या का सामना करना पड़ा. आप डिवाइस को पुनरारंभ करने की आवश्यकता हो सकती है.
+ प्रारूप
+ मेटाडाटा
+ हाय
+ दृश्यदर्शी आयत के अंदर एक बारकोड प्लेस इसे स्कैन.
+ समय
+ टाइप
+ उपलब्ध कराए गए आंकड़ों से एक बारकोड सांकेतिक शब्दों में बदलना नहीं कर सका.
+ Google
+ Google
+ क्षमा करें, अनुरोध आवेदन शुरू नहीं किया जा सका. बारकोड सामग्री अमान्य हो सकता है.
+ पुनर्निर्देशन
+ क्षमा करें, इस किताब को खोजा नहीं है.
+ क्षमा करें, खोज एक समस्या का सामना करना पड़ा.
+ कोई पृष्ठ लौटे
+ पेज
+ परिणाम
+ खोज पुस्तक\u2026
+ उपलब्ध स्निपेट नहीं
+ आप अपनी स्क्रीन पर प्रदर्शित बारकोड और यह अन्य फोन के साथ स्कैनिंग द्वारा डेटा साझा कर सकते हैं.
+ या कुछ पाठ टाइप करें और प्रेस दर्ज करें
+ तुम्हें यकीन है?
+ क्षमा करें, एसडी कार्ड सुलभ नहीं है.
+ जब एक बारकोड पाया जाता है\u2026
+ ऑटो फोकस का उपयोग करें
+ स्कैन और कई बारकोड लगातार बचाने के
+ थोक स्कैन मोड
+ क्लिपबोर्ड पर कॉपी
+ स्थानापन्न: %s = सामग्री, %f = प्रारूप, %t = टाइप
+ कस्टम खोज यूआरएल
+ 1D बारकोड
+ डाटा मैट्रिक्स
+ QR कोड
+ युक्ति बग वर्कअराउन्ड
+ केवल मानक फोकस मोड का उपयोग करें
+ कोई निरंतर ध्यान
+ कोई जोखिम
+ स्वचालित
+ निष्क्रिय
+ सक्रिय
+ कुछ फोन पर कम रोशनी में स्कैनिंग बढ़ाता है, लेकिन चमक का कारण हो सकता है. सभी फोन पर काम नहीं करता.
+ सामने प्रकाश का उपयोग करें
+ सामान्य सेटिंग्स
+ काली पृष्ठभूमि पर सफेद बारकोड के लिए स्कैन करें. कुछ उपकरणों पर उपलब्ध नहीं है.
+ स्कैन उलटें
+ सेटिंग्स
+ भोंपू
+ इतिहास में एक ही बारकोड के स्टोर एकाधिक स्कैन
+ डुप्लिकेट याद रखें
+ नतीजे सेटिंग्स
+ जब बारकोड स्कैनिंग के लिए व्याख्या करना\u2026
+ खोज देश
+ बारकोड सामग्री के बारे में में अधिक जानकारी पुनः प्राप्त करने की कोशिश करो
+ अधिक जानकारी पुनर्प्राप्त
+ बारकोड स्कैनर की कोशिश +
+ नई सुविधाओं और इंटरफेस के साथ बढ़ाया
+ कांपना
+ मिला संपर्क जानकारी
+ मिला कैलेंडर घटना
+ मिला ईमेल पते
+ मिला भौगोलिक निर्देशांक
+ मिला किताब
+ मिला उत्पाद
+ मिला एसएमएस पता
+ मिला फोन नंबर
+ मिला सादा पाठ
+ मिला यूआरएल
+ मिला WLAN विन्यास
+ Google पुस्तक खोज
+ नेटवर्क के लिए कनेक्शन का अनुरोध कर रहा है \u2026
+ नेटवर्क नाम
+ टाइप
+
diff --git a/src/java/PluginQR/res/values-hu/strings.xml b/src/java/PluginQR/res/values-hu/strings.xml
new file mode 100644
index 00000000..5ef249a5
--- /dev/null
+++ b/src/java/PluginQR/res/values-hu/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Alkalmazások
+ Könyvjelzők
+ Hozzáadás a naptárhoz
+ Névjegy hozzáadása
+ Könyv keresése
+ Mégse
+ Egyedi keresés
+ Telefonszám tárcsázása
+ E-mail küldése
+ Útvonaltervezés
+ MMS küldése
+ OK
+ Böngésző megnyitása
+ Termék keresése
+ Tartalom keresése
+ Alkalmazás
+ Könyvjelző
+ Megosztás e-mailben
+ Megosztás SMS-ben
+ Vágólap
+ Névjegy
+ Térkép mutatása
+ SMS küldése
+ Keresés a weben
+ Kapcsolódás hálózathoz
+ Névjegy információ
+ E-mail cím
+ Földrajzi koordináták
+ Telefonszám
+ SMS szám
+ Egyszerű szöveg
+ Törlése
+ Előzmények törlése
+ Barcode Scanner előzmények
+ Üres
+ Nem vonalkód szkennelés lett felvéve még
+ Előzmények küldése
+ Előzmények
+ Használja MECARD
+ Használja vCard
+ Súgó
+ Előzmények
+ Beállítások
+ Megosztás
+ Tömeges beolvasás: vonalkód beszkennelve és mentve
+ Android kamera hiba. Lehet, hogy újra kell indítania a készüléket.
+ Formátum
+ Metaadatok
+ Szia
+ Pozícionálja a vonalkódot a kereső téglalapba a szkenneléshez.
+ Idő
+ Típus
+ Nem sikerült létrehozni a vonalkódot a megadott adatokból.
+ Google
+ Google
+ A kért alkalmazást nem lehet elindítani. A vonalkód tartalma lehet, hogy érvénytelen.
+ Átirányítás
+ Ez a könyv nem kereshető.
+ A keresés problémába ütközött.
+ Nincs visszakapott oldal
+ Oldal
+ Eredmények
+ Könyv keresése\u2026
+ Kódrészlet nem elérhető
+ Meg tud osztani adatot úgy, hogy egy vonalkódot jelenít meg a képernyőjén, melyet egy másik telefon beszkennel.
+ Vagy írja be a szöveget és nyomjon Enter-t
+ Biztos benne?
+ Az SD kártya nem elérhető.
+ Amikor a vonalkód megvan\u2026
+ Használja autofókusz
+ Több vonalkód folyamatos szkennelése és mentése
+ Tömeges beolvasás
+ Másolás a vágólapra
+ Használjon: %s = tartalom, %f = formátum, %t = típus
+ Egyedi kereső URL
+ 1D vonalkódok
+ Data Matrix
+ QR kódok
+ Eszköz Bug Lehetséges megoldások
+ Csak a normál élességállítási mód
+ Nincs folyamatos fókusz
+ No expozíció
+ Automatikus
+ Tétlen
+ Aktív
+ Javítja a szkennelést kevés fény mellett néhány telefonon, de csillogást okozhat. Nem minden telefonon működik.
+ Kamera LED használata
+ Általános beállítások
+ Scan fehér vonalkódok a fekete háttér. Nem csak egyes eszközöket.
+ Invert szkennelés
+ Beállítások
+ Sípolás
+ Ugyanannak a vonalkódnak több szkennelt képét is tárolja az Előzményekben
+ Duplikációk megjegyzése
+ Találati beállítások
+ Vonalkód szkennelésekor, dekódoláskor\u2026
+ Ország keresése
+ A vonalkóddal jelzett tartalomról megpróbál több információt letölteni.
+ További információk letöltése
+ Próbálja Barcode Scanner+
+ Továbbfejlesztett új jellemzők és interfész
+ Rezgés
+ Névjegy találat
+ Naptár esemény találat
+ E-mail cím találat
+ Földrajzi koordináták találat
+ Könyv találat
+ Termék találat
+ SMS szám találat
+ Telefonszám találat
+ Egyszerű szöveg találat
+ URL találat
+ WLAN konfiguráció találat
+ Google Könyvek keresés
+ Kérése kapcsolat hálózati\u2026
+ Hálózat neve
+ Típus
+
diff --git a/src/java/PluginQR/res/values-id/strings.xml b/src/java/PluginQR/res/values-id/strings.xml
new file mode 100644
index 00000000..4b5a33f0
--- /dev/null
+++ b/src/java/PluginQR/res/values-id/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Aplikasi
+ Bookmarks
+ Tambah ke kalendar
+ Tambah kontak
+ Cari Buku
+ Batal
+ Pencarian kustom
+ Panggil nomor
+ Kirim surel
+ Dapatkan petunjuk arah
+ Kirim MMS
+ OK
+ Buka browser
+ Cari Produk
+ Cari isi
+ Aplikasi
+ Bookmark
+ Bagikan melalui surel
+ Bagikan melalui SMS
+ Clipboard
+ Kontak
+ Lihat peta
+ Kirim SMS
+ Pencarian web
+ Hubungkan ke Jaringan
+ Informasi kontak
+ Alamat surel
+ Koordinat geografis
+ Nomor telepon
+ Alamat SMS
+ Teks biasa
+ Hapus
+ Hapus riwayat
+ Riwayat Barcode Scanner
+ Kosong
+ Tidak ada scan barcode telah dicatat belum
+ Kirim riwayat
+ Riwayat
+ Gunakan MECARD
+ Gunakan vCard
+ Bantuan
+ Riwayat
+ Pengaturan
+ Bagikan
+ Bulk mode: barcode sudah dipindai dan disimpan
+ Maaf, kamera pada Android mengalami masalah. Anda mungkin perlu me-restart perangkat.
+ Bentuk
+ Metadata
+ Hai
+ Letakkan barcode di dalam kotak jendela untuk memindai.
+ Waktu
+ Tipe
+ Tidak dapat meng-encode barcode dari data yang diberikan.
+ Google
+ Google
+ Maaf, aplikasi yang diminta tidak dapat dijalankan. Mungkin ada kesalahan isi barcode.
+ Pengalihan
+ Maaf, buku ini tidak dapat dicari.
+ Maaf, pencarian mengalami masalah.
+ Tidak ada halaman kembali
+ Halaman
+ Hasil
+ Mencari buku\u2026
+ Snippet tidak tersedia
+ Anda dapat berbagi data dengan menampilkan barcode di layar Anda dan dapat dipindai oleh phone lain.
+ Atau masukkan beberapa kata dan tekan Enter
+ Apakah Anda yakin?
+ Maaf, SD card tidak dapat diakses.
+ Ketika barcode sudah ditemukan\u2026
+ Menggunakan fokus otomatis
+ Pindai dan simpan beberapa barcode terus-menerus
+ Mode pemindaian bulk
+ Salin ke clipboard
+ Substitusi: %s = isi, %f = format, %t = jenis
+ Pencarian URL kustom
+ 1D barcode
+ Data Matriks
+ QR Codes
+ Perangkat Bug Workarounds
+ Gunakan hanya modus fokus standar
+ Tidak ada fokus terus menerus
+ Eksposur ada
+ Otomatis
+ Non-aktif
+ Aktif
+ Meningkatkan scanning dalam cahaya rendah pada beberapa ponsel, namun dapat menyebabkan silau. Tidak bekerja pada semua ponsel.
+ Gunakan lampu depan
+ Pengaturan umum
+ Memindai barcode putih pada latar belakang hitam. Tidak tersedia pada beberapa perangkat.
+ Balikkan memindai
+ Pengaturan
+ Beep
+ Simpan beberapa pindaian dari barcode yang sama di dalam Riwayat
+ Ingat duplikasi
+ Hasil pengaturan
+ Ketika memindai barcode, decode\u2026
+ Pencarian negara
+ Mencoba mendapatkan beberapa informasi mengenai isi barcode
+ Ambil informasi lebih lanjut
+ Cobalah Scanner Barcode+
+ Ditingkatkan dengan fitur baru dan antarmuka
+ Bergetar
+ Informasi kontak ditemukan
+ Kalendar acara ditemukan
+ Alamat surel ditemukan
+ Koordinat geografis ditemukan
+ Buku ditemukan
+ Produk ditemukan
+ Alamat SMS ditemukan
+ Nomor telepon ditemukan
+ Teks biasa ditemukan
+ URL ditemukan
+ Konfigurasi WLAN ditemukan
+ Pencarian Google Book
+ Meminta koneksi ke jaringan\u2026
+ Nama Jaringan
+ Tipe
+
diff --git a/src/java/PluginQR/res/values-it/strings.xml b/src/java/PluginQR/res/values-it/strings.xml
new file mode 100644
index 00000000..0de19422
--- /dev/null
+++ b/src/java/PluginQR/res/values-it/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Applicazioni
+ Segnalibri
+ Aggiungi al calendario
+ Aggiungi ai contatti
+ Cerca libro
+ Annulla
+ Ricerca personalizzata
+ Componi numero
+ Invia email
+ Ottieni indirizzi
+ Invia MMS
+ OK
+ Apri browser
+ Cerca prodotto
+ Cerca contenuti
+ Applicazione
+ Segnalibro
+ Condividi tramite email
+ Condividi tramite SMS
+ Appunti
+ Contatti
+ Mostra mappa
+ Invia SMS
+ Ricerca web
+ Connessione a rete
+ Info contatto
+ Indirizzo email
+ Coordinate geografiche
+ Numero di telefono
+ Numero SMS
+ Testo puro
+ Cancella
+ Cancella cronologia
+ Cronologia scansioni codici a barre
+ Vuoto
+ Nessuna scansione di codici a barre è stata registrata
+ Invia cronologia
+ Cronologia
+ Usa MECARD
+ Usa vCard
+ Aiuto
+ Cronologia
+ Impostazioni
+ Condividi
+ Modalità di gruppo: codici a barre scansionati e salvati
+ Spiacenti, la fotocamera Android ha riscontrato un problema. Potrebbe essere necessario riavviare il dispositivo.
+ Formato
+ Metadati
+ Ciao
+ Posiziona un codice a barre dentro il mirino rettangolare per la scansione.
+ Tempo
+ Tipo
+ Impossibile codificare un codice a barre dai dati forniti.
+ Google
+ Google
+ Spiacenti, l\'applicazione richiesta non può essere avviata. Il contenuto del codice a barre può essere non valido.
+ Inoltra
+ Spiacenti, questo libro non è ricercabile.
+ Spiacenti, la ricerca ha avuto un problema.
+ Nessuna pagina restitiuta
+ Pagina
+ Risultati
+ Ricerca libro\u2026
+ Ritaglio non disponibile
+ Puoi condividere i dati mostrando un codice a barre sullo schermo e facendo la scansione con un altro telefono.
+ O digitare un testo
+ Sei sicuro?
+ Spiacenti, la scheda SD non è accessibile.
+ Quando viene trovato un codice a barre\u2026
+ Utilizzare messa a fuoco automatica
+ Scansiona e salva diversi codici a barre in sequenza
+ Modalità scansione di gruppo
+ Copia negli appunti
+ Sostituzioni: %s = contenuti, %f = formato, %t = tipo
+ URL ricerca personalizzata
+ Codice a barre 1D
+ Matrice dati
+ Codici QR
+ Soluzioni alternative dispositivo Bug
+ Utilizzare solo modalità standard messa a fuoco
+ No messa a fuoco continua
+ Nessuna esposizione
+ Automatico
+ Inattivo
+ Attivo
+ Migliora la scansione con poca luminosità su alcuni telefoni, ma può provocare abbagliamento. Non funziona su tutti i telefoni.
+ Usa luce frontale
+ Impostazioni generali
+ Scansione dei codici a barre bianche su sfondo nero. Non disponibile su alcuni dispositivi.
+ Invertire la scansione
+ Impostazioni
+ Suona
+ Mantieni scansioni multiple del codice a barre nella stessa Cronologia
+ Ricorda duplicati
+ Impostazioni risultato
+ Durante la scansione di codici a barre, decodifica\u2026
+ Cerca paese
+ Prova a cercare ulteriori informazioni sul contenuto del codice a barre
+ Recupera altre informazioni
+ Prova Barcode Scanner+
+ Arricchito con nuove funzionalità e interfaccia
+ Vibra
+ Info contatto trovata
+ Evento calendario trovato
+ Indirizzo email trovato
+ Coordinate geografiche trovate
+ Libro trovato
+ Prodotto trovato
+ Numero SMS trovato
+ Numero di telefono trovato
+ Testo puro trovato
+ URL trovato
+ Configurazione WLAN trovata
+ Ricerca Google Book
+ Richiesta di connessione alla rete\u2026
+ Nome rete
+ Tipo
+
diff --git a/src/java/PluginQR/res/values-iw/strings.xml b/src/java/PluginQR/res/values-iw/strings.xml
new file mode 100644
index 00000000..1577e7f0
--- /dev/null
+++ b/src/java/PluginQR/res/values-iw/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ סורק ברקודים
+ יישומים
+ סימניות
+ הוסף ללוח שנה
+ הוספת איש קשר
+ חיפוש ספר
+ ביטול
+ חיפוש מותאם אישית
+ חייג מספר
+ שלח דואר אלקטרוני
+ קבל הוראות הגעה
+ שלח הודעת מולטימדיה
+ אישור
+ פתח את הדפדפן
+ חיפוש מוצר
+ חיפוש בתוכן
+ יישום
+ סימניה
+ שתף בדואר אלקטרוני
+ שתף בהודעה
+ לוח עריכה
+ איש קשר
+ הצג מפה
+ שלח הודעה
+ חיפוש באינטרנט
+ התחבר לרשת
+ פרטי איש קשר
+ כתובת דואר אלקטרוני
+ קואורדינטות גאוגרפיות
+ מספר טלפון
+ כתובת SMS
+ טקסט רגיל
+ נקה
+ נקה היסטוריה
+ היסטוריית סורק הברקודים
+ ריק
+ ברקודים לא נרשמו
+ שלח היסטוריה
+ היסטוריה
+ השתמש MECARD
+ השתמש vCard
+ עזרה
+ היסטוריה
+ הגדרות
+ שתף
+ מצב קבוצה: ברקוד נסרק ונשמר
+ סליחה, מצלמת האנדרואיד נתקלה בבעיה. ייתכן שיהיה עליך להפעיל מחדש את המכשיר.
+ פורמט
+ מטה-נתונים
+ היי
+ הצב ברקוד בתוך המלבן כדי לסרוק אותו.
+ זמן
+ סוג
+ לא היתה אפשרות לקודד ברקוד מהנתונים שסופקו.
+ Google
+ Google
+ סליחה, לא ניתן להפעיל את היישום המבוקש. ייתכן שתוכן הברקוד לא תקין.
+ נתב מחדש
+ סליחה, ספר זה אינו ניתן לחיפוש.
+ סליחה, החיפוש נתקל בבעיה.
+ לא הוחזר דף
+ דף
+ תוצאות
+ מחפש ספר\u2026
+ גזיר לא זמין
+ באפשרותך לשתף נתונים על-ידי הצגת ברקוד על המסך וסריקתו עם טלפון אחר.
+ או הקלד טקסט כלשהו
+ האם אתה בטוח?
+ סליחה, כרטיס הזכרון אינו נגיש.
+ כאשר ברקוד נמצא\u2026
+ להשתמש במיקוד האוטומטי
+ סורק ושומר ברקודים באופן רציף
+ מצב סריקה מרובה
+ העתק ללוח
+ החלפות: s% = התוכן, f% = הפורמט, t% = סוג
+ כתובת לחיפוש מותאם אישית
+ ברקודים חד מימדיים
+ מטריצת נתונים
+ קודי QR
+ באג במכשיר דרכים לעקיפת הבעיה
+ השתמש רק במצב רגיל פוקוס
+ המיקוד לא רציפה
+ אין חשיפה
+ אוטומטי
+ לא פעיל
+ פעיל
+ משפר את הסריקה בתאורה נמוכה בטלפונים מסוימים, אך עשוי לגרום לסנוור. לא עובד בכל הטלפונים.
+ השתמש באור הקדמי
+ הגדרות כלליות
+ סרוק ברקודים לבן על רקע שחור. לא זמין על התקנים מסוימים.
+ היפוך לסרוק
+ הגדרות
+ צפצוף
+ אחסן מספר סריקות של אותו הברקוד בהיסטוריה
+ זכור כפילויות
+ הגדרות תוצאה
+ בעת סריקת ברקודים, קודד\u2026
+ חיפוש הארץ
+ נסה למצא מידע נוסף על תוכן הברקוד
+ מצא מידע נוסף
+ נסה סורק ברקודים+
+ משופר עם תכונות וממשק חדשים
+ רטט
+ נמצא מידע של איש קשר
+ נמצא אירוע
+ נמצאה כתובת דוא"ל
+ נמצאו קואורדינטות גיאוגרפיות
+ נמצא ספר
+ נמצא מוצר
+ נמצאה כתובת הודעה
+ נמצא מספר טלפון
+ נמצא טקסט
+ נמצאה כתובת אינטרנט
+ נמצאו הגדרות רשת אל חוטית
+ Google חיפוש ספרים
+ בקשת חיבור לרשת \u2026
+ שם רשת
+ סוג
+
diff --git a/src/java/PluginQR/res/values-ja/strings.xml b/src/java/PluginQR/res/values-ja/strings.xml
new file mode 100644
index 00000000..662e4c9b
--- /dev/null
+++ b/src/java/PluginQR/res/values-ja/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ QRコードスキャナー
+ アプリケーション
+ ブックマーク
+ 予定を追加
+ 連絡先を追加
+ 書籍を検索
+ キャンセル
+ カスタムサーチ
+ 電話をかける
+ メールの送信
+ 経路を検索
+ MMSの送信
+ OK
+ ブラウザで表示
+ 商品検索
+ 書籍の中身を検索
+ アプリを共有
+ ブックマーク
+ メールで共有
+ SMSで共有
+ クリップボードを共有
+ 連絡先を共有
+ 地図を表示
+ SMSの送信
+ インターネット検索
+ ネットワークに接続
+ 連絡先
+ メールアドレス
+ 位置情報
+ 電話番号
+ SMSアドレス
+ テキストデータ
+ 削除
+ 履歴の削除
+ QRコードスキャナーの履歴
+ 履歴なし
+ スキャン履歴がありません
+ 履歴を送信
+ 履歴
+ MECARDを使用
+ vCardを使用
+ ヘルプ
+ 履歴
+ 設定
+ 共有
+ 連続スキャン:スキャン結果を保存しました
+ Androidのカメラに問題が発生しました。デバイスを再起動する必要があります。
+ フォーマット
+ メタデータ
+ こんにちは
+ QRコードを画面の読み取り範囲内に写すとスキャンします。
+ 時間
+ タイプ
+ このデータからQRコードを作成できませんでした
+ Google
+ Google
+ 指定されたアプリケーションを起動できませんでした。QRコードの内容が無効である可能性があります。
+ リダイレクト
+ この書籍は検索できません
+ 検索中に問題が発生しました
+ 検索結果はありません
+ ページ
+ 結果
+ 書籍を検索中
+ 要約文はありません
+ 画面にQRコードを表示させて別の端末でスキャンすれば、データを共有することができます。
+ またはテキストを入力してください
+ よろしいですか?
+ SDカードにアクセスできません
+ スキャン時の動作
+ オートフォーカスを使用
+ QRコードを連続スキャンして保存します
+ 連続スキャンモード
+ クリップボードにコピー
+ 引数:%s=コンテンツ、%f=フォーマット、%t=タイプ
+ カスタムサーチ URL
+ 1次元バーコード
+ データマトリクスコード
+ QRコード
+ 不具合対策
+ 標準フォーカスモードのみ使用します
+ 追従フォーカスしない
+ 露出しない
+ 自動
+ ライトOFF
+ ライトON
+ スキャン時のライトを制御します
+ ライトの制御
+ 一般設定
+ 黒地に白のバーコードをスキャン。一部のデバイスでは使用できません。
+ スキャンを反転
+ 設定
+ 通知音
+ 同じ内容でも重複して履歴に記録します
+ 重複するスキャン結果の記録
+ 検索結果の設定
+ QRコードスキャン時
+ 検索国コード
+ QRコード内容の詳細情報を取得します
+ 詳細情報を取得
+ QRコード+を試す
+ 新機能と強化されたインターフェース
+ バイブレーション
+ 連絡先がヒットしました
+ カレンダーの予定がヒットしました
+ メールアドレスがヒットしました
+ 地理座標がヒットしました
+ 書籍がヒットしました
+ 商品がヒットしました
+ SMS 連絡先がヒットしました
+ 電話番号がヒットしました
+ テキストデータがヒットしました
+ URL がヒットしました
+ ネットワーク設定がヒットしました
+ Googleブックス
+ ネットワークへ接続しています…
+ ネットワーク名
+ タイプ
+
diff --git a/src/java/PluginQR/res/values-ko/strings.xml b/src/java/PluginQR/res/values-ko/strings.xml
new file mode 100644
index 00000000..f4bcc09e
--- /dev/null
+++ b/src/java/PluginQR/res/values-ko/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ 바코드 스캐너
+ 어플리케이션
+ 즐겨찾기
+ 일정에 추가하기
+ 연락처에 추가하기
+ 책 검색
+ 취소
+ 사용자 지정 검색
+ 전화 걸기
+ 이메일 보내기
+ 방향을 찾기
+ MMS 보내기
+ 확인
+ 웹브라우저로 열기
+ 제품 검색
+ 책 내용 검색
+ 어플리케이션
+ 즐겨찾기
+ 이메일로 공유
+ SMS로 공유
+ 복사된 항목
+ 연락처
+ 지도 보기
+ SMS 보내기
+ 인터넷 검색
+ 네트워크에 연결
+ 연락처 정보
+ 이메일 주소
+ GPS 좌표
+ 전화번호
+ 전화번호
+ 단문
+ 삭제
+ 기록 삭제
+ 바코드 스캐너 기록
+ 빈
+ 아무 바코드 스캔이 기록되지 않았습니다
+ 기록 보내기
+ 기록
+ MECARD를 사용하여
+ vCard를 사용하여
+ 도움말
+ 기록
+ 설정
+ 공유
+ 일괄 스캔 모드: 바코드가 읽히고 저장됩니다.
+ 죄송합니다. 기기의 카메라에 오류가 생겼습니다. 기기를 재시작 해야될 수도 있습니다.
+ 포맷
+ 메타데이터
+ 안녕하세요
+ 바코드를 사각형 안에 비춰주세요.
+ 시간
+ 종류
+ 주어진 데이터로 바코드를 만들지 못하였습니다.
+ Google
+ Google
+ 죄송합니다. 어플리케이션이 실행되지 않습니다. 바코드 내용이 잘못 되었을 수도 있습니다.
+ 리디렉션
+ 죄송합니다. 이 책은 검색이 되지 않습니다.
+ 죄송합니다. 검색 도중 문제가 발생했습니다.
+ 수신받은 페이지가 없습니다.
+ 페이지
+ 결과
+ 책 검색중\u2026
+ 내용이 열람되지 않습니다.
+ 해당 기기의 바코드를 다른 기기로 스캔해서 데이터를 공유할 수 있습니다.
+ 입력하거나 텍스트
+ 계속하시겠습니까?
+ 죄송합니다. SD카드를 사용할 수 없습니다.
+ 바코드를 스캔했을때\u2026
+ 자동 초점을 사용하여
+ 다수의 바코드를 스캔하고 저장합니다.
+ 일괄 스캔 모드
+ 복사하기
+ 자리 표시자: %s = 내용, %f = 포맷, %t = 유형
+ 사용자 지정 검색 주소
+ 1차원 바코드를 읽기
+ 데이터 행렬(Data Matrix)을 해석하기
+ QR 코드를 읽기
+ 장치 버그 해결
+ 전용 표준 초점 모드를 사용
+ 아무 연속 초점 없음
+ 더 노출하지
+ 자동적 인
+ 비활성
+ 활동적인
+ 특정 기기에서는 어두운 환경에서의 스캐닝 기능을 향상 시키지만 너무 밝을 수도 있습니다. 모든 기기에서 작동되지 않습니다.
+ 플래시 사용하기
+ 일반 설정
+ 검정 바탕에 흰색 바코드에 대한 스캔. 일부 장치에서 사용할 수 없습니다.
+ 스캔 반전
+ 설정
+ 전자음
+ 복수의 같은 바코드를 기록에 저장
+ 중복된 바코드 저장
+ 결과 설정
+ 바코드 스캐닝 시\u2026
+ 국가별 검색
+ 바코드 내용에 대한 자세한 정보를 검색하려고
+ 검색 상세 정보
+ 바코드 스캐너를 사용해보십시오 +
+ 새로운 기능 및 인터페이스 개선
+ 진동
+ 연락처 정보를 찾았습니다
+ 일정 이벤트를 찾았습니다
+ 이메일 주소를 찾았습니다
+ GPS 좌표를 찾았습니다
+ 책을 찾았습니다
+ 제품을 찾았습니
+ 전화번호를 찾았습니다
+ 전화번호를 찾았습니다
+ 단문을 찾았습니다
+ 인터넷 주소를 찾았습니다
+ WiFi 설정을 찾았습니다
+ 구글 책 검색
+ 네트워크에 연결을 요청\u2026
+ 네트워크 이름
+ 종류
+
diff --git a/src/java/PluginQR/res/values-nl/strings.xml b/src/java/PluginQR/res/values-nl/strings.xml
new file mode 100644
index 00000000..49947f9e
--- /dev/null
+++ b/src/java/PluginQR/res/values-nl/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Applicaties
+ Bladwijzers
+ Toevoegen aan agenda
+ Toevoegen aan contactpersonen
+ Boeken zoeken
+ Annuleren
+ Aangepast zoeken
+ Nummer bellen
+ E-mail versturen
+ Routebeschrijving opvragen
+ MMS versturen
+ OK
+ Browser openen
+ Producten zoeken
+ Boekinhoud zoeken
+ Applicatie
+ Bladwijzer
+ Delen via e-mail
+ Delen via sms
+ Klembord
+ Contactpersoon
+ Kaart weergeven
+ Sms versturen
+ Zoeken op internet
+ Verbinden met netwerk
+ Contactpersooninformatie
+ E-mailadres
+ Geografische coördinaten
+ Telefoonnummer
+ Sms-adres
+ Platte tekst
+ Wissen
+ Geschiedenis wissen
+ Barcode Scanner-geschiedenis
+ Leeg
+ Er zijn geen barcodes gescand
+ Geschiedenis versturen
+ Geschiedenis
+ MECARD gebruiken
+ vCard gebruiken
+ Help
+ Geschiedenis
+ Instellingen
+ Delen
+ Bulkmodus: barcode gescand en opgeslagen
+ Sorry, er is een probleem met de Android-camera. Probeer je telefoon opnieuw op te starten.
+ Formaat
+ Metadata
+ Hallo
+ Plaats een barcode binnen de rechthoek om deze te scannen.
+ Tijd
+ Type
+ Kan geen barcode genereren op basis van de opgegeven gegevens.
+ Google
+ Google
+ Sorry, de opgevraagde applicatie kan niet worden gestart. De barcode is mogelijk ongeldig.
+ Doorverwijzing
+ Sorry, dit boek kan niet worden doorzocht.
+ Sorry, er is een fout opgetreden bij het zoeken.
+ Geen pagina ontvangen
+ Pagina
+ Resultaten
+ Boek doorzoeken\u2026
+ Fragment niet beschikbaar
+ Je kunt gegevens delen door een barcode op je scherm te laten zien en deze met een andere telefoon te scannen.
+ Of typ wat tekst en druk op Enter
+ Weet je het zeker?
+ Sorry, de SD-kaart is niet toegankelijk.
+ Wanneer een barcode is gevonden\u2026
+ Autofocus gebruiken
+ Continu barcodes scannen en opslaan
+ Bulkmodus
+ Kopiëren naar klembord
+ Vervanginen: %s = inhoud, %f = formaat, %t = type
+ Aangepaste zoek-URL
+ 1D-barcodes
+ Datamatrix
+ QR-codes
+ Apparaat Bug Tijdelijke oplossingen
+ Gebruik alleen standaard focus modus
+ Geen continue focus
+ Geen blootstelling
+ Automatisch
+ Inactieve
+ Actief
+ Verbetert het scannen bij weinig licht bij sommige telefoons, maar kan schittering veroorzaken. Werkt niet op alle telefoons.
+ Flitser gebruiken
+ Algemene instellingen
+ Scan naar witte barcodes op een zwarte achtergrond. Niet beschikbaar op sommige apparaten.
+ Scan omkeren
+ Instellingen
+ Piepen
+ Meerdere scans van dezelfde barcode opslaan in de geschiedenis
+ Dubbele onthouden
+ Instellingen voor resultaten
+ Bij het scannen van barcodes, decodeer\u2026
+ Zoeken op land
+ Meer informatie over de inhoud van de barcode proberen op te halen
+ Meer informatie ophalen
+ Probeer Barcode Scanner+
+ Uitgebreid met nieuwe functies en interface
+ Trillen
+ Contactpersooninformatie gevonden
+ Agendagebeurtenis gevonden
+ E-mailadres gevonden
+ Geografische coördinaten gevonden
+ Boek gevonden
+ Product gevonden
+ Sms-adres gevonden
+ Telefoonnummer gevonden
+ Platte tekst gevonden
+ URL gevonden
+ WLAN-configuratie gevonden
+ Zoeken op Google Boeken
+ Verbinding met netwerk opvragen\u2026
+ Netwerknaam
+ Type
+
diff --git a/src/java/PluginQR/res/values-pl/strings.xml b/src/java/PluginQR/res/values-pl/strings.xml
new file mode 100644
index 00000000..882ff251
--- /dev/null
+++ b/src/java/PluginQR/res/values-pl/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Aplikacje
+ Zakładki
+ Dodaj do kalendarza
+ Dodaj kontakt
+ Szukaj książek
+ Anuluj
+ Wyszukiwanie indywidualne
+ Zadzwoń
+ Wyślij email
+ Wskazówki
+ Wyślij MMS
+ OK
+ Otwórz przeglądarkę
+ Szukaj produktów
+ Przeszukaj zawartość
+ Aplikacja
+ Zakładka
+ Udostępnij przez email
+ Udostępnij przez SMS
+ Schowek
+ Kontakt
+ Pokaż mapę
+ Wyślij SMS
+ Szukaj w sieci
+ Podłącz do sieci
+ Informacje o kontakcie
+ Adres email
+ Współrzędne geograficzne
+ Numer telefonu
+ Adres SMS
+ Zwykły tekst
+ Wyczyść
+ Wyczyść historię
+ Historia Skanera Kodów Paskowych
+ Pusty
+ Brak zeskanowanych kodów
+ Wyślij historię
+ Historia
+ Użyj MECARD
+ Użyj vCard
+ Pomoc
+ Historia
+ Ustawienia
+ Udostępnij
+ Tryb zbiorczy: skanowanie i zapisywanie kodów kreskowych w trybie ciągłym
+ Przepraszamy, aparat Android napotkał problem. Może wystąpić potrzeba ponownego uruchomienia urządzenia.
+ Format
+ Metadanych
+ Cześć
+ Umieść kod paskowy w prostokącie wizjera aby zeskanować.
+ Czas
+ Typ
+ Nie można zakodować kodu paskowego z dostarczonych danych.
+ Google
+ Google
+ Przepraszamy, żadana aplikacja nie może zostać uruchomiona. Zawartość kodu paskowego może być nieprawidłowa.
+ Przekierowanie
+ Przepraszamy, ta książka nie jest przeszukiwalna.
+ Przepraszamy, wyszukiwania napotkało problem.
+ Nie zwrócono żadnej strony
+ Strona
+ Wyniki
+ Przeszukiwanie książki\u2026
+ Wycinek niedostępny
+ Możesz udostępniać dane wyświetlając kod paskowy na swoim ekranie i skanując go innym telefonem.
+ Albo wpisz tekst
+ Czy na pewno?
+ Niestety, karta SD nie jest dostępna.
+ Akcja po odnalezieniu kodu\u2026
+ Ustaw ostrość
+ Skanowanie i zapisywanie wielu kodów kreskowych jeden po drugim w trybie ciągłym
+ Tryb ciągłego skanowania
+ Kopiuj do schowka
+ Zastępstwa: %s = zawartość, %f = format, %t = typ
+ Własny URL wyszukiwania
+ Dekoduj kody 1D
+ Dekoduj Decode Matrix
+ Dekoduj kody QR
+ Obejścia błędów urządzeń
+ Używaj tylko standardowego trybu ostrości
+ Ostrość
+ Bez ekspozycji
+ Automatyczny
+ Nieaktywny
+ Aktywny
+ Polepsza skanowanie przy małej ilości światła w niektórych telefonach, ale może powodować odbłysk. Nie działa na wszystkich telefonach.
+ Używaj lampy frontowej
+ Ustawienia ogólne
+ Skanowanie białych kodów kreskowych na czarnym tle. Nie dostępne w niektórych urządzeniach.
+ Odwróć skanowania
+ Ustawienia
+ Piszcz
+ Przechowuj zaskanowane kody w tej samej historii
+ Pamiętaj, duplikaty
+ Ustawienia wyników
+ Podczas skanowania kodów kreskowych\u2026
+ Szukaj kraju
+ Spróbuj wyszukać więcej informacji na temat kodów kreskowych
+ Pobierz więcej informacji
+ Wypróbuj Barcode Scanner+
+ Wzbogacony o nowe funkcje i interfejs
+ Wibruj
+ Znaleziono dane kontaktu
+ Znaleziono wydarzenie z kalendarza
+ Znaleziono adres email
+ Znaleziono współrzędne geograficzne
+ Znaleziono książkę
+ Znaleziono produkt
+ Znaleziono adres SMS
+ Znaleziono numer telefonu
+ Znaleziono zwykły tekst
+ Znaleziono URL
+ Znaleziono konfiguracje sieci
+ Wyszukiwanie książek Google
+ Ubiegającymi się o przyłączenie do sieci\u2026
+ Nazwa sieci
+ Typ
+
diff --git a/src/java/PluginQR/res/values-pt/strings.xml b/src/java/PluginQR/res/values-pt/strings.xml
new file mode 100644
index 00000000..bb272418
--- /dev/null
+++ b/src/java/PluginQR/res/values-pt/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Aplicações
+ Favoritos
+ Adicionar ao calendário
+ Adicionar contacto
+ Procurar livro
+ Cancelar
+ Pesquisa Personalizada
+ Marcar número
+ Enviar e-mail
+ Obter direcções
+ Enviar MMS
+ OK
+ Abrir navegador
+ Procurar produto
+ Pesquisar conteúdos
+ Aplicação
+ Favorito
+ Partilhar via e-mail
+ Partilhar via SMS
+ Área de transferência
+ Contacto
+ Visualizar mapa
+ Enviar SMS
+ Pesquisa na Web
+ Conectar à rede
+ Informação de contacto
+ Endereço de e-mail
+ Coordenadas geográficas
+ Número de telefone
+ Endereço SMS
+ Texto simples
+ Limpar
+ Limpar histórico
+ Histórico do Barcode Scanner
+ Vazio
+ Não código de barras foram registrados
+ Enviar histórico
+ Histórico
+ Usar MECARD
+ Usar vCard
+ Ajuda
+ Histórico
+ Definições
+ Partilhar
+ Modo em massa: código de barras lido e guardado
+ Desculpe, a câmera do Android encontrou um problema. Poderá precisar de reiniciar o dispositivo.
+ Formato
+ Metadata
+ Olá
+ Alinhar código de barras com o exemplo para ser lido.
+ Tempo
+ Tipo
+ Não foi possível codificar o código de barradas apartir dos dados fornecidos.
+ Google
+ Google
+ Desculpe, a aplicação solicitada não pode ser iniciada. O conteúdo do código de barras poderá ser inválido.
+ Redirecionar
+ Desculpe, este livro não é pesquisável.
+ Desculpe, foi encontrado um erro na pesquisa.
+ Nenhuma página obtida
+ Página
+ Resultados
+ A procurar livro\u2026
+ Trecho não disponível
+ Pode partilhar dados exibindo um código de barras no seu ecrã e lendo-o com outro telemóvel
+ Ou introduza algum texto e pressione Enter
+ Tem a certeza?
+ Desculpe, o cartão SD não está disponível.
+ Quando o código de barras é encontrado\u2026
+ Usar foco automático
+ Ler e guardar códigos de barras continuamente
+ Modo em massa
+ Copiar para a área de transferência
+ Substituições: %s = conteúdos, %f = formato, %t = tipo
+ Pesquisa personalizada de URL
+ Código de barras 1D
+ Data Matrix
+ QR Codes
+ Soluções alternativas de dispositivos com erros
+ Use apenas o modo de focagem padrão
+ No foco contínuo
+ Nenhuma exposição
+ Automático
+ Inativo
+ Ativo
+ Melhora a leitura em luz fraca em alguns telefones, mas pode causar clarões. Não disponível em certos dispositivos.
+ Usar luz da frente
+ Definições Gerais
+ Procurar por códigos de barras brancos em fundo preto. Não disponível em certos dispositivos.
+ Inverter leitura
+ Definições
+ Apitar
+ Guardar pesquisas múltiplas do mesmo código de barras no histórico
+ Lembrar duplicados
+ Definições do resultado
+ Quando procurar por códigos de barras, descodificar\u2026
+ País busca
+ Tentar recuperar mais informação sobre os conteúdos dos códigos de barras
+ Recuperar mais informação
+ Tente Barcode Scanner+
+ Aprimorado com novos recursos e interface
+ Vibrar
+ Info de contacto encontrada
+ Evento de calendário encontrado
+ Endereço de e-mail encontrado
+ Coordenadas geográficas encontradas
+ Livro encontrado
+ Produto encontrado
+ Endereço SMS encontrado
+ Número de telefone encontrado
+ Texto simples encontrado
+ URL encontrado
+ Configuração WLAN encontrados
+ Pesquisa Google Book
+ Solicitando ligação à rede\u2026
+ Nome da Rede
+ Tipo
+
diff --git a/src/java/PluginQR/res/values-ro/strings.xml b/src/java/PluginQR/res/values-ro/strings.xml
new file mode 100644
index 00000000..ac802889
--- /dev/null
+++ b/src/java/PluginQR/res/values-ro/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Aplicații
+ Nume însemnare
+ Adaugă în calendar
+ Adaugă contact
+ Caută carte
+ Renunță
+ Căutare personalizată
+ Telefonează la numărul
+ Trimite e-mail
+ Descarcă indicații
+ Trimite MMS
+ Acceptă
+ Deschide navigator
+ Caută produs
+ Caută conținut
+ Aplicație
+ Semn de carte
+ Distribuie prin e-mail
+ Distribuie prin SMS
+ Clipboard
+ Contact
+ Arată harta
+ Trimite SMS
+ Caută pe web
+ Conectează la rețea
+ Informații de contact
+ Adresă de e-mail
+ Coordonate geografice
+ Telefon
+ Număr de SMS
+ Text
+ Șterge istoricul
+ Șterge
+ Istoric Barcode Scanner
+ Nicio înregistare
+ Nicio scanare de coduri de bară nu a fost înregistrată
+ Trimite istoric
+ Istoric
+ Folosește MECARD
+ Folosește vCard
+ Ajutor
+ Istoric
+ Configurări
+ Distribuie
+ Scanare continuă: cod de bare scanat și salvat
+ Probleme cu camera foto. Repornește dispozitivul.
+ Format
+ Metadate
+ Servus
+ Plasează codul de bare în interiorul vizorului pentru a-l scana
+ Ora
+ Tip
+ Codificare eșuată a codului de bare, din datele furnizate
+ Google
+ Google
+ Aplicația solicitată nu a putut fi lansată. Codul de bare poate fi incorect.
+ Redirecționare
+ Cartea nu poate fi căutată
+ Căutarea a întâmpinat probleme
+ Nicio pagină găsită
+ Pagina
+ Rezultate
+ Caută cartea\u2026
+ Fragment indisponibil
+ Poți distribui datele afișând codul pe ecran și scanându-l cu alt aparat
+ Sau introdu textul și tastează Enter
+ Confirmă
+ Card SD inaccesibil
+ Când un cod de bare este găsit\u2026
+ Folosește focalizare automată
+ Scanează continuu și salvează codurile de bară
+ Scanare continuă
+ Copiază în clipboard
+ Înlocuiri: %s = conținut, %f = format, %t = tip
+ Căutare URL personalizată
+ Coduri de bară 1D
+ Coduri Data Matrix
+ Coduri QR
+ Rezolvări rapide ale defectelor la aparat
+ Folosește focalizarea standard
+ Dezactivează focalizarea continuă
+ Nicio expunere
+ Îmbunătățește scanarea în lumină redusă, dar poate cauza strălucire excesivă. Nu funcționează la toate aparatele.
+ Folosește lumina frontală
+ Iluminare automată
+ Oprește
+ Pornește
+ Configurări generale
+ Scanare în negativ
+ Scanează coduri de bară albe pe fundal negru. Indisponibil pe unele aparate.
+ Configurări
+ Sună
+ Înregistrează în Istoric, scanări multiple ale aceluiași cod de bare
+ Reține scanările duplicat
+ Configurări rezultate
+ Când scanează coduri de bară, decodifică\u2026
+ Caută țara
+ Încearcă Barcode Scanner+
+ Îmbogățit cu noi funcționalități și o nouă interfață
+ Încearcă preluarea mai multor informații din conținutul codurilor de bară
+ Preia mai multe informații
+ Vibrează
+ Găsit informații de contact
+ Găsit eveniment în calendar
+ Găsit adresa de e-mail
+ Găsit coordonatele geografice
+ Găsit cartea
+ Găsit produs
+ Găsit număr de SMS
+ Găsit număr de telefon
+ Găsit text
+ Găsit URL
+ Găsit configurarea WLAN
+ Căutare Google Cărți
+ Solicită conexiune la rețea\u2026
+ Nume rețea
+ Tip
+
diff --git a/src/java/PluginQR/res/values-ru/strings.xml b/src/java/PluginQR/res/values-ru/strings.xml
new file mode 100644
index 00000000..7e7eb4b4
--- /dev/null
+++ b/src/java/PluginQR/res/values-ru/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Сканер штрих-кодов
+ Программы
+ Закладки
+ Добавить в календарь
+ Добавить контакт
+ Поиск книги
+ Отмена
+ Пользовательский поиск
+ Набрать номер
+ Отправить e-mail
+ Проложить маршрут
+ Послать MMS
+ OK
+ Открыть браузер
+ Поиск товара
+ Поиск содержания книги
+ Программа
+ Закладка
+ Поделиться через эл. почту
+ Поделиться через SMS
+ Буфер обмена
+ Контакт
+ Показать карту
+ Отправить SMS
+ Поиск в интернете
+ Подключиться к сети
+ Контактная информация
+ Адрес эл. почты
+ Географические координаты
+ Номер телефона
+ Адрес для SMS
+ Текст
+ Удалить
+ Удалить историю
+ История сканирования
+ Пусто
+ Нет сохраненных штрих-кодов
+ Отправить историю
+ История
+ Используйте MECARD
+ Используйте vCard
+ Помощь
+ История
+ Настройки
+ Поделиться
+ Массовый режим: сохранять историю сканирования
+ К сожалению, возникла ошибка камеры. Вам может потребоваться перезагрузка устройства.
+ Формат
+ Метаданные
+ Привет
+ Чтобы сканировать штрих-код, поместите его в прямоугольник видоискателя.
+ Время
+ Тип
+ Невозможно создать штрих-код из текущих данных.
+ Google
+ Google
+ К сожалению, запрошенное приложение не может быть запущенно. Возможно, содержимое штрих-кода повреждено.
+ Переслать
+ К сожалению, поиск книги не удался.
+ К сожалению, возникла ошибка поиска.
+ Ни одна страница не возвращена.
+ Страница
+ Результаты
+ Поиск книги\u2026
+ Фрагмент недоступен
+ Вы можете поделиться данными, сканируя штрих-код с вашего экрана другим телефоном.
+ Или введите текст
+ Вы уверены?
+ К сожалению, SD-карта не доступна.
+ Когда штрих-код найден\u2026
+ Использовать автофокус
+ Постоянно сканировать и сохранять штрих-коды
+ Массовое сканирование
+ Копировать в буфер обмена
+ Замены: %s = содержание, %f = формат, %t = тип
+ URL пользовательского поиска
+ Распознавать линейные штрих-коды
+ Распознавать Data Matrix
+ Распознавать QR-коды
+ Исправление ошибок устройства
+ Стандартный режим фокусировки
+ Отключить продолжительную фокусировку
+ Отключить экспозицию
+ Автоматически
+ Выключен
+ Включен
+ Улучшает распознавание в условиях низкой освещенности, но может вызвать блики. Работает не на всех устройствах.
+ Фонарик
+ Общие настройки
+ Сканирование белых штрих-кодов на черном фоне. Не работает на некоторых устройствах.
+ Инвертировать
+ Настройки
+ Пищать
+ Сохранять в истории результат сканирования одного и того же штрих-кода
+ Запоминать дубликаты
+ Настройки результатов
+ При сканировании штрих-кодов\u2026
+ Поиск страны
+ Показывать подробную информацию о штрих-коде
+ Подробности
+ Попробуйте Сканер штрих-кодов+
+ Расширение с новыми функциями и интерфейсом
+ Вибрировать
+ Найдены контактные данные
+ Найдено событие для календаря
+ Найден адрес эл. почты
+ Найдены географические координаты
+ Найдена книга
+ Найден товар
+ Найден адрес для SMS
+ Найден номер телефона
+ Найден текст
+ Найден URL
+ Найдена конфигурация сети
+ Поиск книг Google
+ Запрос подключения к сети\u2026
+ Имя сети
+ Тип
+
diff --git a/src/java/PluginQR/res/values-sk/strings.xml b/src/java/PluginQR/res/values-sk/strings.xml
new file mode 100644
index 00000000..35c197d2
--- /dev/null
+++ b/src/java/PluginQR/res/values-sk/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Aplikácie
+ Záložky
+ Pridať do kalendára
+ Pridať kontakt
+ Hľadať knihu
+ Zrušiť
+ Vlastné vyhľadávanie
+ Vytočiť číslo
+ Poslať e-mail
+ Získať pokyny
+ Poslať MMS
+ OK
+ Otvoriť prehliadač
+ Vyhľadať produkt
+ Vyhľadať obsah
+ Aplikácia
+ Záložka
+ Zdieľať cez e-mail
+ Zdieľať cez SMS
+ Schránka
+ Kontakt
+ Zobraziť mapu
+ Poslať SMS
+ Hľadať na webe
+ Pripojiť sa sieti
+ Informácie o kontakte
+ E-mailová adresa
+ Geografické súradnice
+ Telefónne číslo
+ SMS adresa
+ Obyčajný text
+ Vymazať
+ Vymazať históriu
+ História Barcode Scanneru
+ Prázdna
+ Žiadne čiarové kódy neboli zaznamenané
+ Poslať históriu
+ História
+ Použiť MECARD
+ Použiť vCard
+ Nápoveda
+ História
+ Nastavenia
+ Zdieľať
+ Hromadný režim: skenovanie a ukladanie čiarových kódov
+ Ospravedlňujeme sa, fotoaparát narazil na problém. Možno bude potrebné reštartovať zariadenie.
+ Formát
+ Metadáta
+ Ahoj
+ Umiestnite čiarový kód do vnútra obdĺžnika hľadáčiku pre skenovanie.
+ Čas
+ Typ
+ Nie je možné zakódovať čiarový kód z poskytnutých údajov.
+ Google
+ Google
+ Ospravedlňujeme sa, požadovaná aplikácia nemohla byť spustená. Obsah čiarového kódu je možno neplatný.
+ Presmerovať
+ Ospravedlňujeme sa, táto kniha nie je prehliadateľná.
+ Ospravedlňujeme sa, vyhľadávanie narazilo na problém.
+ Nenašla sa žiadna stránka
+ Stránka
+ Výsledky
+ Vyhľadáva sa kniha\u2026
+ Úryvok nie je k dispozícii
+ Môžete zdieľať dáta zobrazením čiarového kódu na displeji vášho zariadenia a jeho zoskenovaním iným zariadením
+ Alebo zadajte nejaký text
+ Ste si istí?
+ Ospravedlňujeme sa, SD karta nie je prístupná.
+ Pri zistení čiarového kódu
+ Použiť automatické zaostrenie
+ Skenovať a ukladať veľa čiarových kódov bez prerušenia
+ Hromadný režim skenovania
+ Kopírovať do schránky
+ Nahradiť: %s = obsah, %f = formát, %t = typ
+ Vlastné vyhľadávanie URL
+ 1D čiarové kódy
+ Dáta Matrix
+ QR kódy
+ Možné chyby zariadenia
+ Použiť iba štandardné zaostrenie
+ Nezaostrovať nepretržite
+ Bez expozície
+ Automatický
+ Neaktívne
+ Aktívne
+ Použiť prisvetlenie
+ Použiť predné svetlo
+ Všeobecné nastavenia
+ Skenovať biele čiarové kódy na čiernom pozadí. Nie je k dispozícii na všetkých zariadeniach.
+ Invertované skenovanie
+ Nastavenia
+ Zvuková signalizácia
+ Uložiť viacnásobné skenovanie do jednej histórie čiarového kódu
+ Zapamätať si duplikáty
+ Nastavenia výsledku
+ Dekódovať čiarové kódy
+ Vyhľadávať v krajine
+ Skúsiť získať viac informácií o obsahu čiarového kódu
+ Získať viac informácií
+ Vyskúšajte Barcode Scanner+
+ Rozšírený o nové funkcie a prostredie
+ Vibrovať
+ Nájdená informácia o kontakte
+ Nájdená udalosť kalendára
+ Nájdená e-mailová adresa
+ Nájdená zemepisná súradnica
+ Nájdená kniha
+ Nájdený tovar
+ Nájdená SMS adresa
+ Nájdené telefónne číslo
+ Nájdený obyčajný text
+ Nájdená URL
+ Nájdená konfigurácia WLAN
+ Vyhľadať v Google Knihy
+ Požiadavka na pripojenie k sieti\u2026
+ Názov sieťového pripojenia
+ Typ
+
diff --git a/src/java/PluginQR/res/values-sl/strings.xml b/src/java/PluginQR/res/values-sl/strings.xml
new file mode 100644
index 00000000..82b7822c
--- /dev/null
+++ b/src/java/PluginQR/res/values-sl/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Aplikacije
+ Zaznamki
+ Dodaj v koledar
+ Dodaj kontakt
+ Išči knjigo
+ Prekliči
+ Iskanje po meri
+ Pokliči številko
+ Pošlji e-mail
+ Dobi smer
+ Pošlji MMS
+ V redu
+ Odpri brskalnik
+ Iskanje po izdelkih
+ Išči vsebino
+ Aplikacija
+ Zaznamek
+ Deli preko e-maila
+ Deli preko SMS
+ Odložišče
+ Kontakt
+ Pokaži zemljevid
+ Pošlji SMS
+ Spletno iskanje
+ Poveži se na omrežje
+ Informacije o kontaktu
+ E-naslov
+ Geografske koordinate
+ Telefonska številka
+ SMS naslov
+ Tekst
+ Pobriši
+ Pobriši zgodovino
+ Barcode Scanner zgodovina
+ Prazne
+ Št črtne kode scans so bile zabeležene
+ Pošlji zgodovino
+ Zgodovina
+ Uporaba MECARD
+ Uporaba vCard
+ Pomoč
+ Zgodovina
+ Nastavitve
+ Deli
+ Slikanje na debelo: črtna koda prebrana in shranjena
+ Oprostite, Android kamera je naletela na težave. Mogoče boste morali ponovno zagnati napravo.
+ Format
+ Metapodatki
+ Živjo
+ Za branje postavite črtno kodo znotraj iskala.
+ Čas
+ Tip
+ Ni bilo mogoče narediti črtne kode iz podanih podatkov
+ Google
+ Google
+ Oprostite, zahtevana aplikacija se ne more zagnati. Lahko da gre za napačno vsebino črtne kode.
+ Preusmeritev
+ Oprostite, po tej knjigi se ne da iskati.
+ Oprostite, iskanje je naletelo na napako.
+ Brez vrnjene strani.
+ Stran
+ Rezultati
+ Iščem knjigo\u2026
+ Košček ni na voljo
+ Lahko delite podatke s prikazom črtne kode na vašem zaslonu in branju le-te z drugim mobilnim telefonom.
+ Ali vnesite nekaj besedila
+ Ali ste prepričani?
+ Oprostite, do SD kartice ni možno dostopati
+ Ko je črtna koda najdena\u2026
+ Uporabite samodejno ostrenje
+ Beri in shrani več črtnih kod zaporedoma
+ Branje črtnih kod na debelo
+ Kopiraj v beležnico
+ Zamenjave: %s = vsebin, %f = format, %t = vrsta
+ URL za iskanje po meri
+ 1D črtno kodo
+ Data Matrix
+ QR kodo
+ Naprava Bug Rešitve
+ Uporabljajte samo standardni način ostrenja
+ Št stalna osredotočenost
+ Nobena izpostavljenost
+ Samodejno
+ Neaktivno
+ Aktivna
+ Izboljša branje pri slabi svetlobi na nekaterih telefonih, a lahko povzroči blesk. Ne deluje na vseh telefonih.
+ Uporabite sprednjo luč
+ Splošne nastavitve
+ Scan za beli črtne kode na črni podlagi. Ni na voljo na nekaterih napravah.
+ Obrni skeniranje
+ Nastavitve
+ Pisk
+ Shranjevanje več skandiranje iste črtne kode v zgodovini
+ Zapomni si dvojnikov
+ Nastavitve rezultatov branja
+ Ko berete črtne kode, preberi\u2026
+ Išči po državi
+ Poskusite pridobiti več informacij o vsebini črtne kode
+ Naloži Več info
+ Poskusite Barcode Scanner+
+ Izboljšan z novimi funkcijami in vmesnikom
+ Vibriraj
+ Najdene informacije o kontaktu
+ Najden koledarski dogodek
+ Najden e-naslov
+ Najdene geografske koordinate
+ Najdena knjiga
+ Najden produkt
+ Najden SMS naslov
+ Najdena telefonska številka
+ Najden tekst
+ Najden URL
+ Najdene WLAN nastavitve
+ Iskanje z Google Book Search
+ Zahteva priključitev na omrežje\u2026
+ Ime omrežja
+ Tip
+
diff --git a/src/java/PluginQR/res/values-sv/strings.xml b/src/java/PluginQR/res/values-sv/strings.xml
new file mode 100644
index 00000000..23a2178c
--- /dev/null
+++ b/src/java/PluginQR/res/values-sv/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barcode Scanner
+ Applikationer
+ Bokmärken
+ Lägg till i kalender
+ Lägg till kontakt
+ Boksökning
+ Avbryt
+ Anpassad sökning
+ Slå nummer
+ Skicka e-post
+ Få anvisningar
+ Skicka MMS
+ OK
+ Öppna webbläsare
+ Produktsök
+ Sökinnehåll
+ Applikation
+ Bokmärke
+ Dela via e-post
+ Dela via SMS
+ Klippbord
+ Kontakt
+ Visa karta
+ Skicka SMS
+ Webbsök
+ Anslut till nätverk
+ Kontaktinfo
+ E-postadress
+ Geografiska koordinater
+ Telefonnummer
+ SMS-adress
+ Vanlig text
+ Rensa
+ Rensa historik
+ Historik inskannade streckkoder
+ Tom
+ Inga inskannade streckkoder har registrerats
+ Skicka historik
+ Historik
+ Använd MECARD
+ Använd vCard
+ Hjälp
+ Historik
+ Inställningar
+ Dela
+ Bulk-läge: streckkod har inskannats och sparats
+ Det uppstod tyvärr ett fel med Androidkameran.
+ Format
+ Metadata
+ Hej
+ Placera steckkoden inom sökarens rektangel för att läsa den.
+ Tid
+ Typ
+ Det gick inte att avkoda en streckkod från den erhållna informationen.
+ Google
+ Google
+ Den begärda applikationen kunde tyvärr inte startas. Streckkodens innehåll kan vara ogiltigt.
+ Omdirigering
+ Den här boken är tyvärr inte sökbar.
+ Det uppstod tyvärr ett fel vid sökning.
+ Ingen sida funnen
+ Sida
+ Resultat
+ Söker bok\u2026
+ Utdrag ej tillgängligt
+ Du kan dela information genom att visa en streckkod på din skärm och sedan skanna in den med en annan telefon.
+ Eller skriv in text och tryck Enter
+ Är du säker?
+ SD-kortet är tyvärr inte tillgängligt.
+ När en streckkod hittas\u2026
+ Använd autofokus
+ Skanna och spara flera streckkoder samtidigt
+ Bulk-inskanningläge
+ Kopiera till urklipp
+ Ersättningar: %s = innehåll, %f = format, %t = typ
+ Anpassad sökning URL
+ 1D steckkod
+ Data Matrix
+ QR Code
+ Bugglösningar för enhet
+ Använd endast standardfokusläge
+ Ingen kontinuerlig fokus
+ Ingen exponering
+ Automatisk
+ Inaktiv
+ Aktiv
+ Förbättrar inskanning i svag belysing på vissa telefoner, men kan orsaka bländning. Ej tillgängligt på vissa enheter.
+ Använd frontljus
+ Grundläggande inställningar
+ Skanna in vita streckkoder mot svart bakgrund. Ej tillgängligt på vissa enheter.
+ Invertera inskanning
+ Inställningar
+ Ton
+ Lagra flera inskanningar av samma streckkod i historik
+ Kom ihåg dubletter
+ Resultatinställningar
+ När du skannar in streckkoder, avkoda\u2026
+ Sök land
+ Försök hämta mer information om streckkodens innehåll
+ Hämta mer info
+ Prova Barcode Scanner+
+ Förstärkt med nya funktioner och gränssnitt
+ Vibrera
+ Hittade kontaktinformation
+ Hittade kalenderhändelser
+ Hittade e-postadress
+ Hittade geografiska koordinater
+ Hittade bok
+ Hittade produkt
+ Hittade SMS-adress
+ Hittade telefonnummer
+ Hittade vanlig text
+ Hittade URL
+ Hittade WLAN-konfiguration
+ Google Book Search
+ Begär anslutning till nätverk\u2026
+ Nätverksnamn
+ Typ
+
diff --git a/src/java/PluginQR/res/values-tr/strings.xml b/src/java/PluginQR/res/values-tr/strings.xml
new file mode 100644
index 00000000..e17c2493
--- /dev/null
+++ b/src/java/PluginQR/res/values-tr/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Barkod Tarayıcısı
+ Uygulamalar
+ Yer imleri
+ Takvime ekle
+ Kişi ekle
+ Kitap Arama
+ İptal
+ Özel arama
+ Numaraya çağrı
+ Email gönder
+ Yön bilgisi al
+ MMS gönder
+ Tamam
+ Tarayıcıyı aç
+ Ürün arama
+ İçerik arama
+ Uygulama paylaş
+ Yer imi paylaş
+ Email ile paylaş
+ SMS ile paylaş
+ Pano
+ Kişi
+ Haritayı göster
+ SMS gönder
+ Webde ara
+ Ağa bağlan
+ Kişi bilgisi
+ Email adresi
+ Coğrafi koordinatlar
+ Telefon numarası
+ SMS adresi
+ Düz metin
+ Temizle
+ Geçmişi temizle
+ Barkod Tarayıcı geçmişi
+ Boş
+ Yok barkod taramaları kaydedildi
+ Geçmişi gönder
+ Geçmiş
+ MECARD kullanın
+ VCard kullanın
+ Yardım
+ Geçmiş
+ Ayarlar
+ Paylaş
+ Toplu modu: taranan ve kaydedilen barkodlar
+ Üzgünüz, Android kamera bir sorunla karşılaştı. Cihazı yeniden başlatmanız gerekebilir.
+ Biçim
+ Metadata
+ Merhaba
+ Barkodu taramak için vizördeki dikdörtgenin içerisine yerleştirin.
+ Süre
+ Tür
+ Sağlanan verilerden bir barkod kodlanamadı.
+ Google
+ Google
+ Üzgünüz, istenen uygulama başlatılamadı. Barkod içeriği geçersiz olabilir.
+ Yönlendirme
+ Üzgünüz, bu kitapla ilgili arama yapılamıyor.
+ Üzgünüz, arama esnasında bir sorun oluştu.
+ Dönen sayfa yok
+ Sayfa
+ Sonuçlar
+ Kitap aranıyor\u2026
+ Parçacık yok
+ Ekranınızda görüntülediğiniz barkodu başka bir telefonla tarayarak veri paylaşabilirsiniz.
+ Veya yazın bazı metin
+ Emin misin?
+ Lütfen USB depolamayı devre dışı bırakın.
+ Bir barkod bulunduğu zaman\u2026
+ Otomatik odaklama kullanın
+ Birden fazla barkodu toplu olarak taramak ve kaydetmek için
+ Toplu tarama modu
+ Panoya kopyala
+ Yerine Koyma: %s = içeriği, %f = biçim, %t = tip
+ Özel arama adresi
+ 1D barkodları
+ Data Matrix
+ QR barkodları
+ Cihaz Hata Geçici Çözümler
+ Sadece standart odaklama modunu kullanın
+ Hayır sürekli odak
+ Maruziyet
+ Otomatik
+ Atıl
+ Aktif
+ Bazı telefonlarda düşük ışıkta taramayı iyileştirir, ancak parlamaya neden olabilir. Tüm telefonlarda sonuç vermez.
+ Ön ışığı kullan
+ Genel ayarlar
+ Siyah zemin üzerine beyaz barkod tarama. Bazı cihazlar mevcut değildir.
+ Tarama haricindekileri
+ Ayarlar
+ Bip
+ Aynı barkoda ait farklı taramaları kayıtlarda depola
+ Aynı barkodları hatırla
+ Sonuç ayarları
+ Barkodlar taraması \u2026
+ Arama Ülke
+ Barkod içeriği hakkında daha fazla bilgi almayı dene
+ Daha fazla bilgi
+ Barkod Tarayıcısı+ deneyin
+ Yeni özellikler ve arayüz ile gelişmiş
+ Titreşim
+ Bulunan kişi bilgisi
+ Bulunan takvim etkinliği
+ Bulunan Email adresi
+ Bulunan coğrafi koordinatlar
+ Bulunan kitap
+ Bulunan ürün
+ Bulunan SMS adresi
+ Bulunan telefon numarası
+ Bulunan düz metin
+ Bulunan URL
+ Bulunan Wi-Fi konfigürasyonu
+ Google Kitap Arama
+ Ağa bir bağlantı isteğinde\u2026
+ Ağ adı
+ Tip
+
diff --git a/src/java/PluginQR/res/values-uk/strings.xml b/src/java/PluginQR/res/values-uk/strings.xml
new file mode 100644
index 00000000..b50a463b
--- /dev/null
+++ b/src/java/PluginQR/res/values-uk/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ Сканер штрих-кодів
+ Програми
+ Закладки
+ Додати в календар
+ Додати контакт
+ Пошук книги
+ Відміна
+ Користувацький пошук
+ Набрати номер
+ Відправити e-mail
+ Прокласти маршрут
+ Відправити MMS
+ OK
+ Відкрити браузер
+ Пошук товара
+ Пошук вмісту книги
+ Програма
+ Закладка
+ Поділитись через e-mail
+ Поділитись через SMS
+ Буфер обміну
+ Контакт
+ Показати карту
+ Відправити SMS
+ Пошук в інтернеті
+ Підключитись до мережі
+ Контактна інформація
+ Адреса e-mail
+ Географічні координати
+ Номер телефону
+ Адреса для SMS
+ Текст
+ Видалити
+ Видалити історію
+ Історія сканування
+ Пусто
+ Нема збережених штрих-кодів
+ Відправити історію
+ Історія
+ Використовуйте MECARD
+ Використовуйте vCard
+ Допомога
+ Історія
+ Налаштування
+ Поділитись
+ Масовий режим: зберігати історію сканування
+ Нажаль, виникла помилка камери. Можливо, вам знадобиться перезавантажити пристрій.
+ Формат
+ Метадані
+ Привіт
+ Щоб відсканувати штрих-код, помістіть його в прямокутник видошукача.
+ Час
+ Тип
+ Неможливо створити штрих-код з наданих даних.
+ Google
+ Google
+ Нажаль, неможливо запустити дану програму. Можливо, вміст штрих-коду пошкоджено.
+ Переслати
+ Нажаль, пошук книги був невдалим.
+ Нажаль, виникла помилка пошуку.
+ Не знайдено жодної сторінки.
+ Сторінка
+ Результати
+ Пошук книги\u2026
+ Фрагмент недоступний
+ Ви можете ділитись даними, скануючи штрих-код з вашого екрану іншим телефоном.
+ Або введіть текст
+ Ви впевнені?
+ Нажаль, SD-карта недоступна.
+ Коли штрих-код знайдено\u2026
+ Використовувати автофокус
+ Постійно сканувати та зберігати штрих-коди
+ Масове сканування
+ Скопіювати до буферу обміну
+ Заміни: %s = вміст, %f = формат, %t = тип
+ URL користувацького пошуку
+ Розпізнавати лінійні штрих-коди
+ Розпізнавати Data Matrix
+ Розпізнавати QR-коди
+ Виправлення помилок пристрою
+ Стандартний режим фокусування
+ Відклюти безперервне фокусування
+ Відключити експозицію
+ Автоматично
+ Вимкнено
+ Увімкнено
+ Покращує розпізнавання при поганому освітлення, але може викликати відблиски. Працює не на всіх пристроях.
+ Ліхтарик
+ Загальні налаштування
+ Сканування білих штрих-кодів на чорному фоні. Не працює на деяких пристроях.
+ Інвертувати
+ Налаштування
+ Пищати
+ Зберігати результати сканування однакових штрих-кодів
+ Запом\'ятовувати дублікати
+ Налаштування результатів
+ Під час сканування штрих-кодів\u2026
+ Пошук країни
+ Показати детальну інформацію про штрих-код
+ Подробиці
+ Спробуйте Barcode Scanner+
+ Доступні нові функції та інтерфейс
+ Вібрувати
+ Знайдені контактні дані
+ Знайдено подію для календаря
+ Знайдено e-mail адресу
+ Знайдено географічні координати
+ Знайдено книгу
+ Знайдено товар
+ Знайдено адресу для SMS
+ Знайдено номер телефона
+ Знайдено текст
+ Знайдено URL
+ Знайдено конфігурацію мережі
+ Пошук книг Google
+ Запит підключення до мережі\u2026
+ Ім\'я мережі
+ Тип
+
diff --git a/src/java/PluginQR/res/values-zh-rCN/strings.xml b/src/java/PluginQR/res/values-zh-rCN/strings.xml
new file mode 100644
index 00000000..15414671
--- /dev/null
+++ b/src/java/PluginQR/res/values-zh-rCN/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ 条码扫描器
+ 应用
+ 书签
+ 添加事件至日历
+ 添加联系人
+ 打开图书搜索
+ 取消
+ 自定义搜索
+ 拨号
+ 发送email
+ 获取地址
+ 发送彩信
+ 确定
+ 打开浏览器
+ 打开产品搜索
+ 搜索图书内容
+ 共享应用
+ 分享书签
+ 通过email分享
+ 通过短信分享
+ 分享剪切板
+ 分享联系人
+ 显示地图
+ 发送短信
+ 网页搜索
+ 连接到网络
+ 联系人信息
+ Email地址
+ 地理坐标
+ 电话号码
+ 短信地址
+ 纯文本
+ 删除
+ 删除历史
+ 条码扫描器历史
+ 空的
+ 没有条码扫描已记录
+ 发送历史
+ 历史
+ 使用MECARD
+ 使用vCard
+ 帮助
+ 历史
+ 设置
+ 分享
+ 批量扫描:找到条码,已保存
+ 抱歉,Android相机出现问题。您可能需要重启设备。
+ 格式
+ 元数据
+ Hi
+ 请将条码置于取景框内扫描。
+ 时间
+ 类型
+ 无法根据已有数据生成条码。
+ Google
+ Google
+ 抱歉,无法打开所需软件。 条码内容可能无效。
+ 重定向
+ 抱歉,无法找到此图书。
+ 抱歉,搜索时遇到错误。
+ 无页面返回
+ 页面
+ 结果
+ 搜索图书…
+ 摘录不可用
+ 您可以通过在自己的手机上显示条码,并使用其它手机扫描此条码的方式进行分享
+ 或键入一些文字
+ 你肯定吗?
+ 抱歉,SD卡不可访问。
+ 找到条码时
+ 使用自动对焦
+ 连续扫描并保存多个条形码
+ 批量扫描模式
+ 复制到剪切板
+ 替换:%s=内容,%f=格式,%t=类型
+ 自定义搜索网址
+ 扫描 一维条码
+ 扫描 DM码
+ 扫描 QR码
+ 设备问题解决办法
+ 只使用标准对焦模式
+ 没有持续关注
+ 无曝光
+ 自动
+ 待用
+ 活跃
+ 前灯可用时,打开前灯
+ 前灯
+ 一般设置
+ 黑色背景上的白色条形码扫描。在某些设备上。
+ 反向扫描
+ 设置
+ 提示音
+ 在历史记录中保存重复记录
+ 记住重复
+ 结果设置
+ 条码类型选择
+ 搜索国家
+ 尝试检索关于条码内容的更多信息
+ 检索更多信息
+ 尝试条码扫描器+
+ 增强新的功能和接口
+ 振动
+ 找到联系人信息
+ 找到日历事件
+ 找到email地址
+ 找到地理坐标
+ 找到图书
+ 找到产品
+ 找到短信地址
+ 找到电话号码
+ 找到纯文本
+ 找到URL
+ 发现网络配置
+ Google图书搜索
+ 请求连接到网络\u2026
+ 网络SSID
+ 类型
+
diff --git a/src/java/PluginQR/res/values-zh-rTW/strings.xml b/src/java/PluginQR/res/values-zh-rTW/strings.xml
new file mode 100644
index 00000000..783be77f
--- /dev/null
+++ b/src/java/PluginQR/res/values-zh-rTW/strings.xml
@@ -0,0 +1,136 @@
+
+
+
+ 條碼掃描器
+ 應用程式
+ 書籤
+ 加入事件至日曆
+ 加入聯絡人
+ 打開圖書搜索
+ 取消
+ 自定義搜索
+ 撥號
+ 發送電子郵件
+ 路線規劃
+ 發送 MMS
+ 確定
+ 打開瀏覽器
+ 打開產品搜索
+ 搜索圖書內容
+ 分享應用程式
+ 分享書籤
+ 透過電子郵件分享
+ 透過簡訊分享
+ 分享剪貼簿
+ 分享聯絡人
+ 顯示地圖
+ 發送簡訊
+ 網頁搜索
+ 連接到網路
+ 聯絡人資訊
+ 電子郵件地址
+ 地理座標
+ 電話號碼
+ 簡訊地址
+ 純文字
+ 刪除
+ 刪除紀錄
+ 條碼掃描器紀錄
+ 空的
+ 沒有條碼掃描記錄
+ 發送紀錄
+ 紀錄
+ 使用MECARD
+ 使用vCard
+ 說明
+ 紀錄
+ 設定
+ 分享
+ 大量掃描模式:條碼掃描並儲存
+ 很抱歉,相機出現問題。您可能需要重新啟動設備。
+ 格式
+ 後設資料
+ 哈囉
+ 將條碼置於鏡頭範圍內以進行掃描。
+ 時間
+ 類型
+ 無法讀取條碼。
+ Google
+ Google
+ 抱歉,無法打開所需軟體。條碼內容可能無效。
+ 重定向
+ 無法找到此圖書。
+ 搜尋時發生錯誤。
+ 沒有取得頁面
+ 頁面
+ 結果
+ 搜尋圖書中\u2026
+ 無法取得摘要
+ 你可以在你的手機螢幕上顯示條碼,並使用其他手機掃描此條碼藉此分享給朋友
+ 或輸入一些文字並按 Enter
+ 你確定嗎?
+ 無法讀取 SD 卡。
+ 找到條碼時
+ 使用自動對焦
+ 連續掃描並儲存多個條碼
+ 大量掃描模式
+ 複製到剪貼簿
+ 替換:%s=內容,%f=格式,%t=類型
+ 自訂搜尋網址
+ 解碼一維條碼
+ 解碼 Data Matrix 條碼
+ 解碼 QR Code
+ 設備問題解決辦法
+ 只使用標準對焦模式
+ 無連續對焦
+ 無曝光
+ 自動
+ 待用
+ 活躍
+ 改善在低光源的環境下掃描的成功率,但有可能造成過度曝光的現象
+ 使用前光源
+ 一般設定
+ 條碼掃描白色背景上的黑色。某些設備上無法使用。
+ 反向掃描
+ 設定
+ 提示音
+ 在紀錄中重複儲存相同的條碼
+ 記錄重複的條碼
+ 結果設定
+ 當掃描條碼時
+ 搜索國家
+ 嘗試透過條碼搜尋更多的資訊
+ 搜尋更多資訊
+ 嘗試條碼掃描器+
+ 增強新的功能和接口
+ 震動
+ 找到聯絡人
+ 找到日曆事件
+ 找到電子郵件地址
+ 找到座標
+ 找到圖書
+ 找到產品
+ 找到簡訊
+ 找到電話號碼
+ 找到純文字
+ 找到 URL
+ 找到網路設定
+ Google 圖書搜尋
+ 請求連接到網絡\u2026
+ 網路名稱
+ 類型
+
diff --git a/src/java/PluginQR/res/values/arrays.xml b/src/java/PluginQR/res/values/arrays.xml
new file mode 100644
index 00000000..9c803da7
--- /dev/null
+++ b/src/java/PluginQR/res/values/arrays.xml
@@ -0,0 +1,47 @@
+
+
+
+ -
+ AR
+ AU
+ BR
+ BG
+ CA
+ CH
+ CN
+ CZ
+ DE
+ DK
+ ES
+ FI
+ FR
+ GB
+ GR
+ HU
+ ID
+ IT
+ JP
+ KR
+ NL
+ PL
+ PT
+ RO
+ RU
+ SE
+ SK
+ SI
+ TR
+ TW
+ US
+
+
+ ON
+ AUTO
+ OFF
+
+
+ @string/preferences_front_light_on
+ @string/preferences_front_light_auto
+ @string/preferences_front_light_off
+
+
diff --git a/src/java/PluginQR/res/values/colors.xml b/src/java/PluginQR/res/values/colors.xml
new file mode 100644
index 00000000..07b0f96d
--- /dev/null
+++ b/src/java/PluginQR/res/values/colors.xml
@@ -0,0 +1,29 @@
+
+
+
+ #ff000000
+ #ffffffff
+ #c0ffbd21
+ #ffc0c0c0
+ #c099cc00
+ #ffffffff
+ #b0000000
+ #ffffffff
+ #00000000
+ #ffcc0000
+ #60000000
+
diff --git a/src/java/PluginQR/res/values/dimens.xml b/src/java/PluginQR/res/values/dimens.xml
index 55c1e590..e0310092 100644
--- a/src/java/PluginQR/res/values/dimens.xml
+++ b/src/java/PluginQR/res/values/dimens.xml
@@ -1,7 +1,5 @@
+
-
-
- 16dp
- 16dp
-
-
+ 8dip
+ 4dip
+
\ No newline at end of file
diff --git a/src/java/PluginQR/res/values/dimensqr.xml b/src/java/PluginQR/res/values/dimensqr.xml
new file mode 100644
index 00000000..55c1e590
--- /dev/null
+++ b/src/java/PluginQR/res/values/dimensqr.xml
@@ -0,0 +1,7 @@
+
+
+
+ 16dp
+ 16dp
+
+
diff --git a/src/java/PluginQR/res/values/ids.xml b/src/java/PluginQR/res/values/ids.xml
new file mode 100644
index 00000000..4c0ccb42
--- /dev/null
+++ b/src/java/PluginQR/res/values/ids.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/java/PluginQR/res/values/strings.xml b/src/java/PluginQR/res/values/strings.xml
index ec787df3..0897e777 100644
--- a/src/java/PluginQR/res/values/strings.xml
+++ b/src/java/PluginQR/res/values/strings.xml
@@ -1,18 +1,136 @@
-
-
+
+
+
+ Barcode Scanner
+ Applications
+ Bookmarks
+ Add to calendar
+ Add contact
+ Book Search
+ Cancel
+ Custom search
+ Dial number
+ Send email
+ Get directions
+ Send MMS
+ OK
+ Open browser
+ Product search
+ Search contents
+ Application
+ Bookmark
+ Share via email
+ Share via SMS
+ Clipboard
+ Contact
+ Show map
+ Send SMS
+ Web search
+ Connect to Network
+ Contact info
+ Email address
+ Geographic coordinates
+ Phone number
+ SMS address
+ Plain text
+ Clear history
+ Clear
+ Barcode Scanner history
+ Empty
+ No barcode scans have been recorded
+ Send history
+ History
+ Use MECARD
+ Use vCard
+ Help
+ History
+ Settings
+ Share
+ Bulk mode: barcode scanned and saved
+ Sorry, the Android camera encountered a problem. You may need to restart the device.
+ Format
+ Metadata
+ Hi
+ Place a barcode inside the viewfinder rectangle to scan it.
+ Time
+ Type
+ Could not encode a barcode from the data provided.
+ Google
+ Google
+ Sorry, the requested application could not be launched. The barcode contents may be invalid.
+ Redirect
+ Sorry, this book is not searchable.
+ Sorry, the search encountered a problem.
+ No page returned
+ Page
+ Results
+ Searching book\u2026
+ Snippet not available
+ You can share data by displaying a barcode on your screen and scanning it with another phone.
+ Or type some text and press Enter
+ Are you sure?
+ Sorry, the SD card is not accessible.
+ When a barcode is found\u2026
+ Use auto focus
+ Scan and save many barcodes continuously
+ Bulk scan mode
+ Copy to clipboard
+ Substitutions: %s = contents, %f = format, %t = type
+ Custom search URL
+ 1D barcodes
+ Data Matrix
+ QR Codes
+ Device Bug Workarounds
+ Use only standard focus mode
+ No continuous focus
+ No exposure
+ Improves scanning in low light on some phones, but may cause glare. Does not work on all phones.
+ Use front light
+ Automatic
+ Off
+ On
+ General settings
+ Invert scan
+ Scan for white barcodes on black background. Not available on some devices.
+ Settings
+ Beep
+ Store multiple scans of the same barcode in History
+ Remember duplicates
+ Result settings
+ When scanning for barcodes, decode\u2026
+ Search country
+ Try Barcode Scanner+
+ Enhanced with new features and interface
+ Try to retrieve more information about the barcode contents
+ Retrieve more info
+ Vibrate
+ Found contact info
+ Found calendar event
+ Found email address
+ Found geographic coordinates
+ Found book
+ Found product
+ Found SMS address
+ Found phone number
+ Found plain text
+ Found URL
+ Found WLAN Configuration
+ Google Book Search
+ Requesting connection to network\u2026
+ Network Name
+ Type
diff --git a/src/java/PluginQR/res/values/stringsqr.xml b/src/java/PluginQR/res/values/stringsqr.xml
new file mode 100644
index 00000000..b126448d
--- /dev/null
+++ b/src/java/PluginQR/res/values/stringsqr.xml
@@ -0,0 +1,16 @@
+
+
+
+ QR Plugin for KP2A
+ QRActivity
+ Settings
+ Show QR Code
+ Include field label
+ All fields
+ QR Plugin
+ Displays password entries as QR code
+ Philipp Crocoll
+ MainActivity
+ Hello world!
+
+
diff --git a/src/java/PluginQR/res/values/styles.xml b/src/java/PluginQR/res/values/styles.xml
index 6ce89c7b..77576abb 100644
--- a/src/java/PluginQR/res/values/styles.xml
+++ b/src/java/PluginQR/res/values/styles.xml
@@ -1,20 +1,29 @@
+
+
-
-
-
-
-
+
+
diff --git a/src/java/PluginQR/res/values/stylesqr.xml b/src/java/PluginQR/res/values/stylesqr.xml
new file mode 100644
index 00000000..6ce89c7b
--- /dev/null
+++ b/src/java/PluginQR/res/values/stylesqr.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/java/PluginQR/res/values/themes.xml b/src/java/PluginQR/res/values/themes.xml
new file mode 100644
index 00000000..4b8e2be8
--- /dev/null
+++ b/src/java/PluginQR/res/values/themes.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
diff --git a/src/java/PluginQR/res/xml/preferences.xml b/src/java/PluginQR/res/xml/preferences.xml
new file mode 100644
index 00000000..fc800c5e
--- /dev/null
+++ b/src/java/PluginQR/res/xml/preferences.xml
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/java/PluginQR/src/com/google/zxing/client/android/AmbientLightManager.java b/src/java/PluginQR/src/com/google/zxing/client/android/AmbientLightManager.java
new file mode 100644
index 00000000..20742658
--- /dev/null
+++ b/src/java/PluginQR/src/com/google/zxing/client/android/AmbientLightManager.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2012 ZXing authors
+ *
+ * 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.google.zxing.client.android;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.hardware.Sensor;
+import android.hardware.SensorEvent;
+import android.hardware.SensorEventListener;
+import android.hardware.SensorManager;
+import android.preference.PreferenceManager;
+import com.google.zxing.client.android.camera.CameraManager;
+import com.google.zxing.client.android.camera.FrontLightMode;
+
+/**
+ * Detects ambient light and switches on the front light when very dark, and off again when sufficiently light.
+ *
+ * @author Sean Owen
+ * @author Nikolaus Huber
+ */
+final class AmbientLightManager implements SensorEventListener {
+
+ private static final float TOO_DARK_LUX = 45.0f;
+ private static final float BRIGHT_ENOUGH_LUX = 450.0f;
+
+ private final Context context;
+ private CameraManager cameraManager;
+ private Sensor lightSensor;
+
+ AmbientLightManager(Context context) {
+ this.context = context;
+ }
+
+ void start(CameraManager cameraManager) {
+ this.cameraManager = cameraManager;
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ if (FrontLightMode.readPref(sharedPrefs) == FrontLightMode.AUTO) {
+ SensorManager sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
+ lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
+ if (lightSensor != null) {
+ sensorManager.registerListener(this, lightSensor, SensorManager.SENSOR_DELAY_NORMAL);
+ }
+ }
+ }
+
+ void stop() {
+ if (lightSensor != null) {
+ SensorManager sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
+ sensorManager.unregisterListener(this);
+ cameraManager = null;
+ lightSensor = null;
+ }
+ }
+
+ @Override
+ public void onSensorChanged(SensorEvent sensorEvent) {
+ float ambientLightLux = sensorEvent.values[0];
+ if (cameraManager != null) {
+ if (ambientLightLux <= TOO_DARK_LUX) {
+ cameraManager.setTorch(true);
+ } else if (ambientLightLux >= BRIGHT_ENOUGH_LUX) {
+ cameraManager.setTorch(false);
+ }
+ }
+ }
+
+ @Override
+ public void onAccuracyChanged(Sensor sensor, int accuracy) {
+ // do nothing
+ }
+
+}
diff --git a/src/java/PluginQR/src/com/google/zxing/client/android/BeepManager.java b/src/java/PluginQR/src/com/google/zxing/client/android/BeepManager.java
new file mode 100644
index 00000000..fb123113
--- /dev/null
+++ b/src/java/PluginQR/src/com/google/zxing/client/android/BeepManager.java
@@ -0,0 +1,126 @@
+/*
+ * Copyright (C) 2010 ZXing authors
+ *
+ * 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.google.zxing.client.android;
+
+import android.R;
+import android.app.Activity;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.res.AssetFileDescriptor;
+import android.media.AudioManager;
+import android.media.MediaPlayer;
+import android.os.Vibrator;
+import android.preference.PreferenceManager;
+import android.util.Log;
+
+import java.io.IOException;
+
+/**
+ * Manages beeps and vibrations for {@link CaptureActivity}.
+ */
+final class BeepManager implements MediaPlayer.OnCompletionListener, MediaPlayer.OnErrorListener {
+
+ private static final String TAG = BeepManager.class.getSimpleName();
+
+ private static final float BEEP_VOLUME = 0.10f;
+ private static final long VIBRATE_DURATION = 200L;
+
+ private final Activity activity;
+ private MediaPlayer mediaPlayer;
+ private boolean playBeep;
+ private boolean vibrate;
+
+ BeepManager(Activity activity) {
+ this.activity = activity;
+ this.mediaPlayer = null;
+ updatePrefs();
+ }
+
+ synchronized void updatePrefs() {
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
+ playBeep = shouldBeep(prefs, activity);
+ vibrate = prefs.getBoolean(PreferencesActivity.KEY_VIBRATE, false);
+ if (playBeep && mediaPlayer == null) {
+ // The volume on STREAM_SYSTEM is not adjustable, and users found it too loud,
+ // so we now play on the music stream.
+ activity.setVolumeControlStream(AudioManager.STREAM_MUSIC);
+ mediaPlayer = buildMediaPlayer(activity);
+ }
+ }
+
+ synchronized void playBeepSoundAndVibrate() {
+ if (playBeep && mediaPlayer != null) {
+ mediaPlayer.start();
+ }
+ if (vibrate) {
+ Vibrator vibrator = (Vibrator) activity.getSystemService(Context.VIBRATOR_SERVICE);
+ vibrator.vibrate(VIBRATE_DURATION);
+ }
+ }
+
+ private static boolean shouldBeep(SharedPreferences prefs, Context activity) {
+ boolean shouldPlayBeep = prefs.getBoolean(PreferencesActivity.KEY_PLAY_BEEP, true);
+ if (shouldPlayBeep) {
+ // See if sound settings overrides this
+ AudioManager audioService = (AudioManager) activity.getSystemService(Context.AUDIO_SERVICE);
+ if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) {
+ shouldPlayBeep = false;
+ }
+ }
+ return shouldPlayBeep;
+ }
+
+ private MediaPlayer buildMediaPlayer(Context activity) {
+ MediaPlayer mediaPlayer = new MediaPlayer();
+ mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
+ mediaPlayer.setOnCompletionListener(this);
+ mediaPlayer.setOnErrorListener(this);
+
+ AssetFileDescriptor file = activity.getResources().openRawResourceFd(keepass2android.plugin.qr.R.raw.beep);
+ try {
+ mediaPlayer.setDataSource(file.getFileDescriptor(), file.getStartOffset(), file.getLength());
+ file.close();
+ mediaPlayer.setVolume(BEEP_VOLUME, BEEP_VOLUME);
+ mediaPlayer.prepare();
+ } catch (IOException ioe) {
+ Log.w(TAG, ioe);
+ mediaPlayer = null;
+ }
+ return mediaPlayer;
+ }
+
+ @Override
+ public void onCompletion(MediaPlayer mp) {
+ // When the beep has finished playing, rewind to queue up another one.
+ mp.seekTo(0);
+ }
+
+ @Override
+ public synchronized boolean onError(MediaPlayer mp, int what, int extra) {
+ if (what == MediaPlayer.MEDIA_ERROR_SERVER_DIED) {
+ // we are finished, so put up an appropriate error toast if required and finish
+ activity.finish();
+ } else {
+ // possibly media player error, so release and recreate
+ mp.release();
+ mediaPlayer = null;
+ updatePrefs();
+ }
+ return true;
+ }
+
+}
diff --git a/src/java/PluginQR/src/com/google/zxing/client/android/CaptureActivity.java b/src/java/PluginQR/src/com/google/zxing/client/android/CaptureActivity.java
new file mode 100644
index 00000000..24374f6b
--- /dev/null
+++ b/src/java/PluginQR/src/com/google/zxing/client/android/CaptureActivity.java
@@ -0,0 +1,716 @@
+/*
+ * Copyright (C) 2008 ZXing authors
+ *
+ * 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.google.zxing.client.android;
+
+import com.google.zxing.BarcodeFormat;
+import com.google.zxing.DecodeHintType;
+import com.google.zxing.Result;
+import com.google.zxing.ResultMetadataType;
+import com.google.zxing.ResultPoint;
+import com.google.zxing.client.android.camera.CameraManager;
+import com.google.zxing.client.android.clipboard.ClipboardInterface;
+import com.google.zxing.client.android.history.HistoryActivity;
+import com.google.zxing.client.android.history.HistoryItem;
+import com.google.zxing.client.android.history.HistoryManager;
+import com.google.zxing.client.android.result.ResultButtonListener;
+import com.google.zxing.client.android.result.ResultHandler;
+import com.google.zxing.client.android.result.ResultHandlerFactory;
+import com.google.zxing.client.android.result.supplement.SupplementalInfoRetriever;
+import com.google.zxing.client.android.share.ShareActivity;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.preference.PreferenceManager;
+import android.util.Log;
+import android.util.TypedValue;
+import android.view.KeyEvent;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.ImageView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import java.io.IOException;
+import java.text.DateFormat;
+import java.util.Collection;
+import java.util.Date;
+import java.util.EnumSet;
+import java.util.Map;
+
+import keepass2android.plugin.qr.R;
+
+/**
+ * This activity opens the camera and does the actual scanning on a background thread. It draws a
+ * viewfinder to help the user place the barcode correctly, shows feedback as the image processing
+ * is happening, and then overlays the results when a scan is successful.
+ *
+ * @author dswitkin@google.com (Daniel Switkin)
+ * @author Sean Owen
+ */
+public final class CaptureActivity extends Activity implements SurfaceHolder.Callback {
+
+ private static final String TAG = CaptureActivity.class.getSimpleName();
+
+ private static final long DEFAULT_INTENT_RESULT_DURATION_MS = 1500L;
+ private static final long BULK_MODE_SCAN_DELAY_MS = 1000L;
+
+ private static final String[] ZXING_URLS = { "http://zxing.appspot.com/scan", "zxing://scan/" };
+
+ public static final int HISTORY_REQUEST_CODE = 0x0000bacc;
+
+ private static final Collection DISPLAYABLE_METADATA_TYPES =
+ EnumSet.of(ResultMetadataType.ISSUE_NUMBER,
+ ResultMetadataType.SUGGESTED_PRICE,
+ ResultMetadataType.ERROR_CORRECTION_LEVEL,
+ ResultMetadataType.POSSIBLE_COUNTRY);
+
+ private CameraManager cameraManager;
+ private CaptureActivityHandler handler;
+ private Result savedResultToShow;
+ private ViewfinderView viewfinderView;
+ private TextView statusView;
+ private View resultView;
+ private Result lastResult;
+ private boolean hasSurface;
+ private boolean copyToClipboard;
+ private IntentSource source;
+ private String sourceUrl;
+ private ScanFromWebPageManager scanFromWebPageManager;
+ private Collection decodeFormats;
+ private Map decodeHints;
+ private String characterSet;
+ private HistoryManager historyManager;
+ private InactivityTimer inactivityTimer;
+ private BeepManager beepManager;
+ private AmbientLightManager ambientLightManager;
+
+ ViewfinderView getViewfinderView() {
+ return viewfinderView;
+ }
+
+ public Handler getHandler() {
+ return handler;
+ }
+
+ CameraManager getCameraManager() {
+ return cameraManager;
+ }
+
+ @Override
+ public void onCreate(Bundle icicle) {
+ super.onCreate(icicle);
+
+ Window window = getWindow();
+ window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
+ setContentView(R.layout.capture);
+
+ hasSurface = false;
+ historyManager = new HistoryManager(this);
+ historyManager.trimHistory();
+ inactivityTimer = new InactivityTimer(this);
+ beepManager = new BeepManager(this);
+ ambientLightManager = new AmbientLightManager(this);
+
+ PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+
+ // CameraManager must be initialized here, not in onCreate(). This is necessary because we don't
+ // want to open the camera driver and measure the screen size if we're going to show the help on
+ // first launch. That led to bugs where the scanning rectangle was the wrong size and partially
+ // off screen.
+ cameraManager = new CameraManager(getApplication());
+
+ viewfinderView = (ViewfinderView) findViewById(R.id.viewfinder_view);
+ viewfinderView.setCameraManager(cameraManager);
+
+ resultView = findViewById(R.id.result_view);
+ statusView = (TextView) findViewById(R.id.status_view);
+
+ handler = null;
+ lastResult = null;
+
+ resetStatusView();
+
+ SurfaceView surfaceView = (SurfaceView) findViewById(R.id.preview_view);
+ SurfaceHolder surfaceHolder = surfaceView.getHolder();
+ if (hasSurface) {
+ // The activity was paused but not stopped, so the surface still exists. Therefore
+ // surfaceCreated() won't be called, so init the camera here.
+ initCamera(surfaceHolder);
+ } else {
+ // Install the callback and wait for surfaceCreated() to init the camera.
+ surfaceHolder.addCallback(this);
+ }
+
+ beepManager.updatePrefs();
+ ambientLightManager.start(cameraManager);
+
+ inactivityTimer.onResume();
+
+ Intent intent = getIntent();
+
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ copyToClipboard = prefs.getBoolean(PreferencesActivity.KEY_COPY_TO_CLIPBOARD, true)
+ && (intent == null || intent.getBooleanExtra(Intents.Scan.SAVE_HISTORY, true));
+
+ source = IntentSource.NONE;
+ decodeFormats = null;
+ characterSet = null;
+
+ if (intent != null) {
+
+ String action = intent.getAction();
+ String dataString = intent.getDataString();
+
+ if (Intents.Scan.ACTION.equals(action)) {
+
+ // Scan the formats the intent requested, and return the result to the calling activity.
+ source = IntentSource.NATIVE_APP_INTENT;
+ decodeFormats = DecodeFormatManager.parseDecodeFormats(intent);
+ decodeHints = DecodeHintManager.parseDecodeHints(intent);
+
+ if (intent.hasExtra(Intents.Scan.WIDTH) && intent.hasExtra(Intents.Scan.HEIGHT)) {
+ int width = intent.getIntExtra(Intents.Scan.WIDTH, 0);
+ int height = intent.getIntExtra(Intents.Scan.HEIGHT, 0);
+ if (width > 0 && height > 0) {
+ cameraManager.setManualFramingRect(width, height);
+ }
+ }
+
+ String customPromptMessage = intent.getStringExtra(Intents.Scan.PROMPT_MESSAGE);
+ if (customPromptMessage != null) {
+ statusView.setText(customPromptMessage);
+ }
+
+ } else if (dataString != null &&
+ dataString.contains("http://www.google") &&
+ dataString.contains("/m/products/scan")) {
+
+ // Scan only products and send the result to mobile Product Search.
+ source = IntentSource.PRODUCT_SEARCH_LINK;
+ sourceUrl = dataString;
+ decodeFormats = DecodeFormatManager.PRODUCT_FORMATS;
+
+ } else if (isZXingURL(dataString)) {
+
+ // Scan formats requested in query string (all formats if none specified).
+ // If a return URL is specified, send the results there. Otherwise, handle it ourselves.
+ source = IntentSource.ZXING_LINK;
+ sourceUrl = dataString;
+ Uri inputUri = Uri.parse(dataString);
+ scanFromWebPageManager = new ScanFromWebPageManager(inputUri);
+ decodeFormats = DecodeFormatManager.parseDecodeFormats(inputUri);
+ // Allow a sub-set of the hints to be specified by the caller.
+ decodeHints = DecodeHintManager.parseDecodeHints(inputUri);
+
+ }
+
+ characterSet = intent.getStringExtra(Intents.Scan.CHARACTER_SET);
+
+ }
+ }
+
+ private static boolean isZXingURL(String dataString) {
+ if (dataString == null) {
+ return false;
+ }
+ for (String url : ZXING_URLS) {
+ if (dataString.startsWith(url)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ protected void onPause() {
+ if (handler != null) {
+ handler.quitSynchronously();
+ handler = null;
+ }
+ inactivityTimer.onPause();
+ ambientLightManager.stop();
+ cameraManager.closeDriver();
+ if (!hasSurface) {
+ SurfaceView surfaceView = (SurfaceView) findViewById(R.id.preview_view);
+ SurfaceHolder surfaceHolder = surfaceView.getHolder();
+ surfaceHolder.removeCallback(this);
+ }
+ super.onPause();
+ }
+
+ @Override
+ protected void onDestroy() {
+ inactivityTimer.shutdown();
+ super.onDestroy();
+ }
+
+ @Override
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
+ switch (keyCode) {
+ case KeyEvent.KEYCODE_BACK:
+ if (source == IntentSource.NATIVE_APP_INTENT) {
+ setResult(RESULT_CANCELED);
+ finish();
+ return true;
+ }
+ if ((source == IntentSource.NONE || source == IntentSource.ZXING_LINK) && lastResult != null) {
+ restartPreviewAfterDelay(0L);
+ return true;
+ }
+ break;
+ case KeyEvent.KEYCODE_FOCUS:
+ case KeyEvent.KEYCODE_CAMERA:
+ // Handle these events so they don't launch the Camera app
+ return true;
+ // Use volume up/down to turn on light
+ case KeyEvent.KEYCODE_VOLUME_DOWN:
+ cameraManager.setTorch(false);
+ return true;
+ case KeyEvent.KEYCODE_VOLUME_UP:
+ cameraManager.setTorch(true);
+ return true;
+ }
+ return super.onKeyDown(keyCode, event);
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ MenuInflater menuInflater = getMenuInflater();
+ menuInflater.inflate(R.menu.capture, menu);
+ return super.onCreateOptionsMenu(menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ Intent intent = new Intent(Intent.ACTION_VIEW);
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
+ switch (item.getItemId()) {
+ case R.id.menu_share:
+ intent.setClassName(this, ShareActivity.class.getName());
+ startActivity(intent);
+ break;
+ case R.id.menu_history:
+ intent.setClassName(this, HistoryActivity.class.getName());
+ startActivityForResult(intent, HISTORY_REQUEST_CODE);
+ break;
+ case R.id.menu_settings:
+ intent.setClassName(this, PreferencesActivity.class.getName());
+ startActivity(intent);
+ break;
+ case R.id.menu_help:
+ intent.setClassName(this, HelpActivity.class.getName());
+ startActivity(intent);
+ break;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ return true;
+ }
+
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, Intent intent) {
+ if (resultCode == RESULT_OK) {
+ if (requestCode == HISTORY_REQUEST_CODE) {
+ int itemNumber = intent.getIntExtra(Intents.History.ITEM_NUMBER, -1);
+ if (itemNumber >= 0) {
+ HistoryItem historyItem = historyManager.buildHistoryItem(itemNumber);
+ decodeOrStoreSavedBitmap(null, historyItem.getResult());
+ }
+ }
+ }
+ }
+
+ private void decodeOrStoreSavedBitmap(Bitmap bitmap, Result result) {
+ // Bitmap isn't used yet -- will be used soon
+ if (handler == null) {
+ savedResultToShow = result;
+ } else {
+ if (result != null) {
+ savedResultToShow = result;
+ }
+ if (savedResultToShow != null) {
+ Message message = Message.obtain(handler, R.id.decode_succeeded, savedResultToShow);
+ handler.sendMessage(message);
+ }
+ savedResultToShow = null;
+ }
+ }
+
+ @Override
+ public void surfaceCreated(SurfaceHolder holder) {
+ if (holder == null) {
+ Log.e(TAG, "*** WARNING *** surfaceCreated() gave us a null surface!");
+ }
+ if (!hasSurface) {
+ hasSurface = true;
+ initCamera(holder);
+ }
+ }
+
+ @Override
+ public void surfaceDestroyed(SurfaceHolder holder) {
+ hasSurface = false;
+ }
+
+ @Override
+ public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
+
+ }
+
+ /**
+ * A valid barcode has been found, so give an indication of success and show the results.
+ *
+ * @param rawResult The contents of the barcode.
+ * @param scaleFactor amount by which thumbnail was scaled
+ * @param barcode A greyscale bitmap of the camera data which was decoded.
+ */
+ public void handleDecode(Result rawResult, Bitmap barcode, float scaleFactor) {
+ inactivityTimer.onActivity();
+ lastResult = rawResult;
+ ResultHandler resultHandler = ResultHandlerFactory.makeResultHandler(this, rawResult);
+
+ boolean fromLiveScan = barcode != null;
+ if (fromLiveScan) {
+ historyManager.addHistoryItem(rawResult, resultHandler);
+ // Then not from history, so beep/vibrate and we have an image to draw on
+ beepManager.playBeepSoundAndVibrate();
+ drawResultPoints(barcode, scaleFactor, rawResult);
+ }
+
+ switch (source) {
+ case NATIVE_APP_INTENT:
+ case PRODUCT_SEARCH_LINK:
+ handleDecodeExternally(rawResult, resultHandler, barcode);
+ break;
+ case ZXING_LINK:
+ if (scanFromWebPageManager == null || !scanFromWebPageManager.isScanFromWebPage()) {
+ handleDecodeInternally(rawResult, resultHandler, barcode);
+ } else {
+ handleDecodeExternally(rawResult, resultHandler, barcode);
+ }
+ break;
+ case NONE:
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ if (fromLiveScan && prefs.getBoolean(PreferencesActivity.KEY_BULK_MODE, false)) {
+ Toast.makeText(getApplicationContext(),
+ getResources().getString(R.string.msg_bulk_mode_scanned) + " (" + rawResult.getText() + ')',
+ Toast.LENGTH_SHORT).show();
+ // Wait a moment or else it will scan the same barcode continuously about 3 times
+ restartPreviewAfterDelay(BULK_MODE_SCAN_DELAY_MS);
+ } else {
+ handleDecodeInternally(rawResult, resultHandler, barcode);
+ }
+ break;
+ }
+ }
+
+ /**
+ * Superimpose a line for 1D or dots for 2D to highlight the key features of the barcode.
+ *
+ * @param barcode A bitmap of the captured image.
+ * @param scaleFactor amount by which thumbnail was scaled
+ * @param rawResult The decoded results which contains the points to draw.
+ */
+ private void drawResultPoints(Bitmap barcode, float scaleFactor, Result rawResult) {
+ ResultPoint[] points = rawResult.getResultPoints();
+ if (points != null && points.length > 0) {
+ Canvas canvas = new Canvas(barcode);
+ Paint paint = new Paint();
+ paint.setColor(getResources().getColor(R.color.result_points));
+ if (points.length == 2) {
+ paint.setStrokeWidth(4.0f);
+ drawLine(canvas, paint, points[0], points[1], scaleFactor);
+ } else if (points.length == 4 &&
+ (rawResult.getBarcodeFormat() == BarcodeFormat.UPC_A ||
+ rawResult.getBarcodeFormat() == BarcodeFormat.EAN_13)) {
+ // Hacky special case -- draw two lines, for the barcode and metadata
+ drawLine(canvas, paint, points[0], points[1], scaleFactor);
+ drawLine(canvas, paint, points[2], points[3], scaleFactor);
+ } else {
+ paint.setStrokeWidth(10.0f);
+ for (ResultPoint point : points) {
+ if (point != null) {
+ canvas.drawPoint(scaleFactor * point.getX(), scaleFactor * point.getY(), paint);
+ }
+ }
+ }
+ }
+ }
+
+ private static void drawLine(Canvas canvas, Paint paint, ResultPoint a, ResultPoint b, float scaleFactor) {
+ if (a != null && b != null) {
+ canvas.drawLine(scaleFactor * a.getX(),
+ scaleFactor * a.getY(),
+ scaleFactor * b.getX(),
+ scaleFactor * b.getY(),
+ paint);
+ }
+ }
+
+ // Put up our own UI for how to handle the decoded contents.
+ private void handleDecodeInternally(Result rawResult, ResultHandler resultHandler, Bitmap barcode) {
+ statusView.setVisibility(View.GONE);
+ viewfinderView.setVisibility(View.GONE);
+ resultView.setVisibility(View.VISIBLE);
+
+ ImageView barcodeImageView = (ImageView) findViewById(R.id.barcode_image_view);
+ if (barcode == null) {
+ barcodeImageView.setImageBitmap(BitmapFactory.decodeResource(getResources(),
+ R.drawable.launcher_icon));
+ } else {
+ barcodeImageView.setImageBitmap(barcode);
+ }
+
+ TextView formatTextView = (TextView) findViewById(R.id.format_text_view);
+ formatTextView.setText(rawResult.getBarcodeFormat().toString());
+
+ TextView typeTextView = (TextView) findViewById(R.id.type_text_view);
+ typeTextView.setText(resultHandler.getType().toString());
+
+ DateFormat formatter = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
+ TextView timeTextView = (TextView) findViewById(R.id.time_text_view);
+ timeTextView.setText(formatter.format(new Date(rawResult.getTimestamp())));
+
+
+ TextView metaTextView = (TextView) findViewById(R.id.meta_text_view);
+ View metaTextViewLabel = findViewById(R.id.meta_text_view_label);
+ metaTextView.setVisibility(View.GONE);
+ metaTextViewLabel.setVisibility(View.GONE);
+ Map metadata = rawResult.getResultMetadata();
+ if (metadata != null) {
+ StringBuilder metadataText = new StringBuilder(20);
+ for (Map.Entry entry : metadata.entrySet()) {
+ if (DISPLAYABLE_METADATA_TYPES.contains(entry.getKey())) {
+ metadataText.append(entry.getValue()).append('\n');
+ }
+ }
+ if (metadataText.length() > 0) {
+ metadataText.setLength(metadataText.length() - 1);
+ metaTextView.setText(metadataText);
+ metaTextView.setVisibility(View.VISIBLE);
+ metaTextViewLabel.setVisibility(View.VISIBLE);
+ }
+ }
+
+ TextView contentsTextView = (TextView) findViewById(R.id.contents_text_view);
+ CharSequence displayContents = resultHandler.getDisplayContents();
+ contentsTextView.setText(displayContents);
+ // Crudely scale betweeen 22 and 32 -- bigger font for shorter text
+ int scaledSize = Math.max(22, 32 - displayContents.length() / 4);
+ contentsTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, scaledSize);
+
+ TextView supplementTextView = (TextView) findViewById(R.id.contents_supplement_text_view);
+ supplementTextView.setText("");
+ supplementTextView.setOnClickListener(null);
+ if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean(
+ PreferencesActivity.KEY_SUPPLEMENTAL, true)) {
+ SupplementalInfoRetriever.maybeInvokeRetrieval(supplementTextView,
+ resultHandler.getResult(),
+ historyManager,
+ this);
+ }
+
+ int buttonCount = resultHandler.getButtonCount();
+ ViewGroup buttonView = (ViewGroup) findViewById(R.id.result_button_view);
+ buttonView.requestFocus();
+ for (int x = 0; x < ResultHandler.MAX_BUTTON_COUNT; x++) {
+ TextView button = (TextView) buttonView.getChildAt(x);
+ if (x < buttonCount) {
+ button.setVisibility(View.VISIBLE);
+ button.setText(resultHandler.getButtonText(x));
+ button.setOnClickListener(new ResultButtonListener(resultHandler, x));
+ } else {
+ button.setVisibility(View.GONE);
+ }
+ }
+
+ if (copyToClipboard && !resultHandler.areContentsSecure()) {
+ ClipboardInterface.setText(displayContents, this);
+ }
+ }
+
+ // Briefly show the contents of the barcode, then handle the result outside Barcode Scanner.
+ private void handleDecodeExternally(Result rawResult, ResultHandler resultHandler, Bitmap barcode) {
+
+ if (barcode != null) {
+ viewfinderView.drawResultBitmap(barcode);
+ }
+
+ long resultDurationMS;
+ if (getIntent() == null) {
+ resultDurationMS = DEFAULT_INTENT_RESULT_DURATION_MS;
+ } else {
+ resultDurationMS = getIntent().getLongExtra(Intents.Scan.RESULT_DISPLAY_DURATION_MS,
+ DEFAULT_INTENT_RESULT_DURATION_MS);
+ }
+
+ if (resultDurationMS > 0) {
+ String rawResultString = String.valueOf(rawResult);
+ if (rawResultString.length() > 32) {
+ rawResultString = rawResultString.substring(0, 32) + " ...";
+ }
+ statusView.setText(getString(resultHandler.getDisplayTitle()) + " : " + rawResultString);
+ }
+
+ if (copyToClipboard && !resultHandler.areContentsSecure()) {
+ CharSequence text = resultHandler.getDisplayContents();
+ ClipboardInterface.setText(text, this);
+ }
+
+ if (source == IntentSource.NATIVE_APP_INTENT) {
+
+ // Hand back whatever action they requested - this can be changed to Intents.Scan.ACTION when
+ // the deprecated intent is retired.
+ Intent intent = new Intent(getIntent().getAction());
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
+ intent.putExtra(Intents.Scan.RESULT, rawResult.toString());
+ intent.putExtra(Intents.Scan.RESULT_FORMAT, rawResult.getBarcodeFormat().toString());
+ byte[] rawBytes = rawResult.getRawBytes();
+ if (rawBytes != null && rawBytes.length > 0) {
+ intent.putExtra(Intents.Scan.RESULT_BYTES, rawBytes);
+ }
+ Map metadata = rawResult.getResultMetadata();
+ if (metadata != null) {
+ if (metadata.containsKey(ResultMetadataType.UPC_EAN_EXTENSION)) {
+ intent.putExtra(Intents.Scan.RESULT_UPC_EAN_EXTENSION,
+ metadata.get(ResultMetadataType.UPC_EAN_EXTENSION).toString());
+ }
+ Number orientation = (Number) metadata.get(ResultMetadataType.ORIENTATION);
+ if (orientation != null) {
+ intent.putExtra(Intents.Scan.RESULT_ORIENTATION, orientation.intValue());
+ }
+ String ecLevel = (String) metadata.get(ResultMetadataType.ERROR_CORRECTION_LEVEL);
+ if (ecLevel != null) {
+ intent.putExtra(Intents.Scan.RESULT_ERROR_CORRECTION_LEVEL, ecLevel);
+ }
+ @SuppressWarnings("unchecked")
+ Iterable byteSegments = (Iterable) metadata.get(ResultMetadataType.BYTE_SEGMENTS);
+ if (byteSegments != null) {
+ int i = 0;
+ for (byte[] byteSegment : byteSegments) {
+ intent.putExtra(Intents.Scan.RESULT_BYTE_SEGMENTS_PREFIX + i, byteSegment);
+ i++;
+ }
+ }
+ }
+ sendReplyMessage(R.id.return_scan_result, intent, resultDurationMS);
+
+ } else if (source == IntentSource.PRODUCT_SEARCH_LINK) {
+
+ // Reformulate the URL which triggered us into a query, so that the request goes to the same
+ // TLD as the scan URL.
+ int end = sourceUrl.lastIndexOf("/scan");
+ String replyURL = sourceUrl.substring(0, end) + "?q=" + resultHandler.getDisplayContents() + "&source=zxing";
+ sendReplyMessage(R.id.launch_product_query, replyURL, resultDurationMS);
+
+ } else if (source == IntentSource.ZXING_LINK) {
+
+ if (scanFromWebPageManager != null && scanFromWebPageManager.isScanFromWebPage()) {
+ String replyURL = scanFromWebPageManager.buildReplyURL(rawResult, resultHandler);
+ sendReplyMessage(R.id.launch_product_query, replyURL, resultDurationMS);
+ }
+
+ }
+ }
+
+ private void sendReplyMessage(int id, Object arg, long delayMS) {
+ if (handler != null) {
+ Message message = Message.obtain(handler, id, arg);
+ if (delayMS > 0L) {
+ handler.sendMessageDelayed(message, delayMS);
+ } else {
+ handler.sendMessage(message);
+ }
+ }
+ }
+
+ private void initCamera(SurfaceHolder surfaceHolder) {
+ if (surfaceHolder == null) {
+ throw new IllegalStateException("No SurfaceHolder provided");
+ }
+ if (cameraManager.isOpen()) {
+ Log.w(TAG, "initCamera() while already open -- late SurfaceView callback?");
+ return;
+ }
+ try {
+ cameraManager.openDriver(surfaceHolder);
+ // Creating the handler starts the preview, which can also throw a RuntimeException.
+ if (handler == null) {
+ handler = new CaptureActivityHandler(this, decodeFormats, decodeHints, characterSet, cameraManager);
+ }
+ decodeOrStoreSavedBitmap(null, null);
+ } catch (IOException ioe) {
+ Log.w(TAG, ioe);
+ displayFrameworkBugMessageAndExit();
+ } catch (RuntimeException e) {
+ // Barcode Scanner has seen crashes in the wild of this variety:
+ // java.?lang.?RuntimeException: Fail to connect to camera service
+ Log.w(TAG, "Unexpected error initializing camera", e);
+ displayFrameworkBugMessageAndExit();
+ }
+ }
+
+ private void displayFrameworkBugMessageAndExit() {
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ builder.setTitle(getString(R.string.app_name));
+ builder.setMessage(getString(R.string.msg_camera_framework_bug));
+ builder.setPositiveButton(R.string.button_ok, new FinishListener(this));
+ builder.setOnCancelListener(new FinishListener(this));
+ builder.show();
+ }
+
+ public void restartPreviewAfterDelay(long delayMS) {
+ if (handler != null) {
+ handler.sendEmptyMessageDelayed(R.id.restart_preview, delayMS);
+ }
+ resetStatusView();
+ }
+
+ private void resetStatusView() {
+ resultView.setVisibility(View.GONE);
+ statusView.setText(R.string.msg_default_status);
+ statusView.setVisibility(View.VISIBLE);
+ viewfinderView.setVisibility(View.VISIBLE);
+ lastResult = null;
+ }
+
+ public void drawViewfinder() {
+ viewfinderView.drawViewfinder();
+ }
+}
diff --git a/src/java/PluginQR/src/com/google/zxing/client/android/CaptureActivityHandler.java b/src/java/PluginQR/src/com/google/zxing/client/android/CaptureActivityHandler.java
new file mode 100644
index 00000000..df760a14
--- /dev/null
+++ b/src/java/PluginQR/src/com/google/zxing/client/android/CaptureActivityHandler.java
@@ -0,0 +1,171 @@
+/*
+ * Copyright (C) 2008 ZXing authors
+ *
+ * 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.google.zxing.client.android;
+
+import android.content.ActivityNotFoundException;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.graphics.BitmapFactory;
+import android.provider.Browser;
+import com.google.zxing.BarcodeFormat;
+import com.google.zxing.DecodeHintType;
+import com.google.zxing.Result;
+import com.google.zxing.client.android.camera.CameraManager;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.util.Log;
+
+import java.util.Collection;
+import java.util.Map;
+
+import keepass2android.plugin.qr.R;
+
+/**
+ * This class handles all the messaging which comprises the state machine for capture.
+ *
+ * @author dswitkin@google.com (Daniel Switkin)
+ */
+public final class CaptureActivityHandler extends Handler {
+
+ private static final String TAG = CaptureActivityHandler.class.getSimpleName();
+
+ private final CaptureActivity activity;
+ private final DecodeThread decodeThread;
+ private State state;
+ private final CameraManager cameraManager;
+
+ private enum State {
+ PREVIEW,
+ SUCCESS,
+ DONE
+ }
+
+ CaptureActivityHandler(CaptureActivity activity,
+ Collection decodeFormats,
+ Map baseHints,
+ String characterSet,
+ CameraManager cameraManager) {
+ this.activity = activity;
+ decodeThread = new DecodeThread(activity, decodeFormats, baseHints, characterSet,
+ new ViewfinderResultPointCallback(activity.getViewfinderView()));
+ decodeThread.start();
+ state = State.SUCCESS;
+
+ // Start ourselves capturing previews and decoding.
+ this.cameraManager = cameraManager;
+ cameraManager.startPreview();
+ restartPreviewAndDecode();
+ }
+
+ @Override
+ public void handleMessage(Message message) {
+ switch (message.what) {
+ case R.id.restart_preview:
+ Log.d(TAG, "Got restart preview message");
+ restartPreviewAndDecode();
+ break;
+ case R.id.decode_succeeded:
+ Log.d(TAG, "Got decode succeeded message");
+ state = State.SUCCESS;
+ Bundle bundle = message.getData();
+ Bitmap barcode = null;
+ float scaleFactor = 1.0f;
+ if (bundle != null) {
+ byte[] compressedBitmap = bundle.getByteArray(DecodeThread.BARCODE_BITMAP);
+ if (compressedBitmap != null) {
+ barcode = BitmapFactory.decodeByteArray(compressedBitmap, 0, compressedBitmap.length, null);
+ // Mutable copy:
+ barcode = barcode.copy(Bitmap.Config.ARGB_8888, true);
+ }
+ scaleFactor = bundle.getFloat(DecodeThread.BARCODE_SCALED_FACTOR);
+ }
+ activity.handleDecode((Result) message.obj, barcode, scaleFactor);
+ break;
+ case R.id.decode_failed:
+ // We're decoding as fast as possible, so when one decode fails, start another.
+ state = State.PREVIEW;
+ cameraManager.requestPreviewFrame(decodeThread.getHandler(), R.id.decode);
+ break;
+ case R.id.return_scan_result:
+ Log.d(TAG, "Got return scan result message");
+ activity.setResult(Activity.RESULT_OK, (Intent) message.obj);
+ activity.finish();
+ break;
+ case R.id.launch_product_query:
+ Log.d(TAG, "Got product query message");
+ String url = (String) message.obj;
+
+ Intent intent = new Intent(Intent.ACTION_VIEW);
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
+ intent.setData(Uri.parse(url));
+
+ ResolveInfo resolveInfo =
+ activity.getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
+ String browserPackageName = null;
+ if (resolveInfo != null && resolveInfo.activityInfo != null) {
+ browserPackageName = resolveInfo.activityInfo.packageName;
+ Log.d(TAG, "Using browser in package " + browserPackageName);
+ }
+
+ // Needed for default Android browser / Chrome only apparently
+ if ("com.android.browser".equals(browserPackageName) || "com.android.chrome".equals(browserPackageName)) {
+ intent.setPackage(browserPackageName);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.putExtra(Browser.EXTRA_APPLICATION_ID, browserPackageName);
+ }
+
+ try {
+ activity.startActivity(intent);
+ } catch (ActivityNotFoundException ignored) {
+ Log.w(TAG, "Can't find anything to handle VIEW of URI " + url);
+ }
+ break;
+ }
+ }
+
+ public void quitSynchronously() {
+ state = State.DONE;
+ cameraManager.stopPreview();
+ Message quit = Message.obtain(decodeThread.getHandler(), R.id.quit);
+ quit.sendToTarget();
+ try {
+ // Wait at most half a second; should be enough time, and onPause() will timeout quickly
+ decodeThread.join(500L);
+ } catch (InterruptedException e) {
+ // continue
+ }
+
+ // Be absolutely sure we don't send any queued up messages
+ removeMessages(R.id.decode_succeeded);
+ removeMessages(R.id.decode_failed);
+ }
+
+ private void restartPreviewAndDecode() {
+ if (state == State.SUCCESS) {
+ state = State.PREVIEW;
+ cameraManager.requestPreviewFrame(decodeThread.getHandler(), R.id.decode);
+ activity.drawViewfinder();
+ }
+ }
+
+}
diff --git a/src/java/PluginQR/src/com/google/zxing/client/android/Contents.java b/src/java/PluginQR/src/com/google/zxing/client/android/Contents.java
new file mode 100644
index 00000000..9e5a86dc
--- /dev/null
+++ b/src/java/PluginQR/src/com/google/zxing/client/android/Contents.java
@@ -0,0 +1,114 @@
+/*
+ * Copyright (C) 2008 ZXing authors
+ *
+ * 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.google.zxing.client.android;
+
+import android.provider.ContactsContract;
+
+/**
+ * The set of constants to use when sending Barcode Scanner an Intent which requests a barcode
+ * to be encoded.
+ *
+ * @author dswitkin@google.com (Daniel Switkin)
+ */
+public final class Contents {
+ private Contents() {
+ }
+
+ public static final class Type {
+ /**
+ * Plain text. Use Intent.putExtra(DATA, string). This can be used for URLs too, but string
+ * must include "http://" or "https://".
+ */
+ public static final String TEXT = "TEXT_TYPE";
+
+ /**
+ * An email type. Use Intent.putExtra(DATA, string) where string is the email address.
+ */
+ public static final String EMAIL = "EMAIL_TYPE";
+
+ /**
+ * Use Intent.putExtra(DATA, string) where string is the phone number to call.
+ */
+ public static final String PHONE = "PHONE_TYPE";
+
+ /**
+ * An SMS type. Use Intent.putExtra(DATA, string) where string is the number to SMS.
+ */
+ public static final String SMS = "SMS_TYPE";
+
+ /**
+ * A contact. Send a request to encode it as follows:
+ *
+ * import android.provider.Contacts;
+ *
+ * Intent intent = new Intent(Intents.Encode.ACTION);
+ * intent.putExtra(Intents.Encode.TYPE, CONTACT);
+ * Bundle bundle = new Bundle();
+ * bundle.putString(Contacts.Intents.Insert.NAME, "Jenny");
+ * bundle.putString(Contacts.Intents.Insert.PHONE, "8675309");
+ * bundle.putString(Contacts.Intents.Insert.EMAIL, "jenny@the80s.com");
+ * bundle.putString(Contacts.Intents.Insert.POSTAL, "123 Fake St. San Francisco, CA 94102");
+ * intent.putExtra(Intents.Encode.DATA, bundle);
+ */
+ public static final String CONTACT = "CONTACT_TYPE";
+
+ /**
+ * A geographic location. Use as follows:
+ * Bundle bundle = new Bundle();
+ * bundle.putFloat("LAT", latitude);
+ * bundle.putFloat("LONG", longitude);
+ * intent.putExtra(Intents.Encode.DATA, bundle);
+ */
+ public static final String LOCATION = "LOCATION_TYPE";
+
+ private Type() {
+ }
+ }
+
+ public static final String URL_KEY = "URL_KEY";
+
+ public static final String NOTE_KEY = "NOTE_KEY";
+
+ /**
+ * When using Type.CONTACT, these arrays provide the keys for adding or retrieving multiple
+ * phone numbers and addresses.
+ */
+ public static final String[] PHONE_KEYS = {
+ ContactsContract.Intents.Insert.PHONE,
+ ContactsContract.Intents.Insert.SECONDARY_PHONE,
+ ContactsContract.Intents.Insert.TERTIARY_PHONE
+ };
+
+ public static final String[] PHONE_TYPE_KEYS = {
+ ContactsContract.Intents.Insert.PHONE_TYPE,
+ ContactsContract.Intents.Insert.SECONDARY_PHONE_TYPE,
+ ContactsContract.Intents.Insert.TERTIARY_PHONE_TYPE
+ };
+
+ public static final String[] EMAIL_KEYS = {
+ ContactsContract.Intents.Insert.EMAIL,
+ ContactsContract.Intents.Insert.SECONDARY_EMAIL,
+ ContactsContract.Intents.Insert.TERTIARY_EMAIL
+ };
+
+ public static final String[] EMAIL_TYPE_KEYS = {
+ ContactsContract.Intents.Insert.EMAIL_TYPE,
+ ContactsContract.Intents.Insert.SECONDARY_EMAIL_TYPE,
+ ContactsContract.Intents.Insert.TERTIARY_EMAIL_TYPE
+ };
+
+}
diff --git a/src/java/PluginQR/src/com/google/zxing/client/android/DecodeFormatManager.java b/src/java/PluginQR/src/com/google/zxing/client/android/DecodeFormatManager.java
new file mode 100644
index 00000000..353e1310
--- /dev/null
+++ b/src/java/PluginQR/src/com/google/zxing/client/android/DecodeFormatManager.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2010 ZXing authors
+ *
+ * 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.google.zxing.client.android;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.EnumSet;
+import java.util.List;
+import java.util.regex.Pattern;
+
+import android.content.Intent;
+import android.net.Uri;
+import com.google.zxing.BarcodeFormat;
+
+final class DecodeFormatManager {
+
+ private static final Pattern COMMA_PATTERN = Pattern.compile(",");
+
+ static final Collection PRODUCT_FORMATS;
+ static final Collection ONE_D_FORMATS;
+ static final Collection QR_CODE_FORMATS = EnumSet.of(BarcodeFormat.QR_CODE);
+ static final Collection DATA_MATRIX_FORMATS = EnumSet.of(BarcodeFormat.DATA_MATRIX);
+ static {
+ PRODUCT_FORMATS = EnumSet.of(BarcodeFormat.UPC_A,
+ BarcodeFormat.UPC_E,
+ BarcodeFormat.EAN_13,
+ BarcodeFormat.EAN_8,
+ BarcodeFormat.RSS_14,
+ BarcodeFormat.RSS_EXPANDED);
+ ONE_D_FORMATS = EnumSet.of(BarcodeFormat.CODE_39,
+ BarcodeFormat.CODE_93,
+ BarcodeFormat.CODE_128,
+ BarcodeFormat.ITF,
+ BarcodeFormat.CODABAR);
+ ONE_D_FORMATS.addAll(PRODUCT_FORMATS);
+ }
+
+ private DecodeFormatManager() {}
+
+ static Collection parseDecodeFormats(Intent intent) {
+ Iterable scanFormats = null;
+ CharSequence scanFormatsString = intent.getStringExtra(Intents.Scan.FORMATS);
+ if (scanFormatsString != null) {
+ scanFormats = Arrays.asList(COMMA_PATTERN.split(scanFormatsString));
+ }
+ return parseDecodeFormats(scanFormats, intent.getStringExtra(Intents.Scan.MODE));
+ }
+
+ static Collection parseDecodeFormats(Uri inputUri) {
+ List formats = inputUri.getQueryParameters(Intents.Scan.FORMATS);
+ if (formats != null && formats.size() == 1 && formats.get(0) != null){
+ formats = Arrays.asList(COMMA_PATTERN.split(formats.get(0)));
+ }
+ return parseDecodeFormats(formats, inputUri.getQueryParameter(Intents.Scan.MODE));
+ }
+
+ private static Collection parseDecodeFormats(Iterable scanFormats,
+ String decodeMode) {
+ if (scanFormats != null) {
+ Collection formats = EnumSet.noneOf(BarcodeFormat.class);
+ try {
+ for (String format : scanFormats) {
+ formats.add(BarcodeFormat.valueOf(format));
+ }
+ return formats;
+ } catch (IllegalArgumentException iae) {
+ // ignore it then
+ }
+ }
+ if (decodeMode != null) {
+ if (Intents.Scan.PRODUCT_MODE.equals(decodeMode)) {
+ return PRODUCT_FORMATS;
+ }
+ if (Intents.Scan.QR_CODE_MODE.equals(decodeMode)) {
+ return QR_CODE_FORMATS;
+ }
+ if (Intents.Scan.DATA_MATRIX_MODE.equals(decodeMode)) {
+ return DATA_MATRIX_FORMATS;
+ }
+ if (Intents.Scan.ONE_D_MODE.equals(decodeMode)) {
+ return ONE_D_FORMATS;
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/src/java/PluginQR/src/com/google/zxing/client/android/DecodeHandler.java b/src/java/PluginQR/src/com/google/zxing/client/android/DecodeHandler.java
new file mode 100644
index 00000000..730dc33d
--- /dev/null
+++ b/src/java/PluginQR/src/com/google/zxing/client/android/DecodeHandler.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2010 ZXing authors
+ *
+ * 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.google.zxing.client.android;
+
+import android.graphics.Bitmap;
+import com.google.zxing.BinaryBitmap;
+import com.google.zxing.DecodeHintType;
+import com.google.zxing.MultiFormatReader;
+import com.google.zxing.PlanarYUVLuminanceSource;
+import com.google.zxing.ReaderException;
+import com.google.zxing.Result;
+import com.google.zxing.common.HybridBinarizer;
+
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.util.Log;
+
+import java.io.ByteArrayOutputStream;
+import java.util.Map;
+
+import keepass2android.plugin.qr.R;
+
+final class DecodeHandler extends Handler {
+
+ private static final String TAG = DecodeHandler.class.getSimpleName();
+
+ private final CaptureActivity activity;
+ private final MultiFormatReader multiFormatReader;
+ private boolean running = true;
+
+ DecodeHandler(CaptureActivity activity, Map hints) {
+ multiFormatReader = new MultiFormatReader();
+ multiFormatReader.setHints(hints);
+ this.activity = activity;
+ }
+
+ @Override
+ public void handleMessage(Message message) {
+ if (!running) {
+ return;
+ }
+ switch (message.what) {
+ case R.id.decode:
+ decode((byte[]) message.obj, message.arg1, message.arg2);
+ break;
+ case R.id.quit:
+ running = false;
+ Looper.myLooper().quit();
+ break;
+ }
+ }
+
+ /**
+ * Decode the data within the viewfinder rectangle, and time how long it took. For efficiency,
+ * reuse the same reader objects from one decode to the next.
+ *
+ * @param data The YUV preview frame.
+ * @param width The width of the preview frame.
+ * @param height The height of the preview frame.
+ */
+ private void decode(byte[] data, int width, int height) {
+ long start = System.currentTimeMillis();
+ Result rawResult = null;
+ PlanarYUVLuminanceSource source = activity.getCameraManager().buildLuminanceSource(data, width, height);
+ if (source != null) {
+ BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
+ try {
+ rawResult = multiFormatReader.decodeWithState(bitmap);
+ } catch (ReaderException re) {
+ // continue
+ } finally {
+ multiFormatReader.reset();
+ }
+ }
+
+ Handler handler = activity.getHandler();
+ if (rawResult != null) {
+ // Don't log the barcode contents for security.
+ long end = System.currentTimeMillis();
+ Log.d(TAG, "Found barcode in " + (end - start) + " ms");
+ if (handler != null) {
+ Message message = Message.obtain(handler, R.id.decode_succeeded, rawResult);
+ Bundle bundle = new Bundle();
+ bundleThumbnail(source, bundle);
+ message.setData(bundle);
+ message.sendToTarget();
+ }
+ } else {
+ if (handler != null) {
+ Message message = Message.obtain(handler, R.id.decode_failed);
+ message.sendToTarget();
+ }
+ }
+ }
+
+ private static void bundleThumbnail(PlanarYUVLuminanceSource source, Bundle bundle) {
+ int[] pixels = source.renderThumbnail();
+ int width = source.getThumbnailWidth();
+ int height = source.getThumbnailHeight();
+ Bitmap bitmap = Bitmap.createBitmap(pixels, 0, width, width, height, Bitmap.Config.ARGB_8888);
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ bitmap.compress(Bitmap.CompressFormat.JPEG, 50, out);
+ bundle.putByteArray(DecodeThread.BARCODE_BITMAP, out.toByteArray());
+ bundle.putFloat(DecodeThread.BARCODE_SCALED_FACTOR, (float) width / source.getWidth());
+ }
+
+}
diff --git a/src/java/PluginQR/src/com/google/zxing/client/android/DecodeHintManager.java b/src/java/PluginQR/src/com/google/zxing/client/android/DecodeHintManager.java
new file mode 100644
index 00000000..fa215b5a
--- /dev/null
+++ b/src/java/PluginQR/src/com/google/zxing/client/android/DecodeHintManager.java
@@ -0,0 +1,236 @@
+/*
+ * Copyright (C) 2013 ZXing authors
+ *
+ * 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.google.zxing.client.android;
+
+import java.util.EnumMap;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.util.Log;
+
+import com.google.zxing.DecodeHintType;
+
+/**
+ * @author Lachezar Dobrev
+ */
+final class DecodeHintManager {
+
+ private static final String TAG = DecodeHintManager.class.getSimpleName();
+
+ // This pattern is used in decoding integer arrays.
+ private static final Pattern COMMA = Pattern.compile(",");
+
+ private DecodeHintManager() {}
+
+ /**
+ *
Split a query string into a list of name-value pairs.
+ *
+ *
This is an alternative to the {@link Uri#getQueryParameterNames()} and
+ * {@link Uri#getQueryParameters(String)}, which are quirky and not suitable
+ * for exist-only Uri parameters.
+ *
+ *
This method ignores multiple parameters with the same name and returns the
+ * first one only. This is technically incorrect, but should be acceptable due
+ * to the method of processing Hints: no multiple values for a hint.
+ *
+ * @param query query to split
+ * @return name-value pairs
+ */
+ private static Map splitQuery(String query) {
+ Map map = new HashMap();
+ int pos = 0;
+ while (pos < query.length()) {
+ if (query.charAt(pos) == '&') {
+ // Skip consecutive ampersand separators.
+ pos ++;
+ continue;
+ }
+ int amp = query.indexOf('&', pos);
+ int equ = query.indexOf('=', pos);
+ if (amp < 0) {
+ // This is the last element in the query, no more ampersand elements.
+ String name;
+ String text;
+ if (equ < 0) {
+ // No equal sign
+ name = query.substring(pos);
+ name = name.replace('+', ' '); // Preemptively decode +
+ name = Uri.decode(name);
+ text = "";
+ } else {
+ // Split name and text.
+ name = query.substring(pos, equ);
+ name = name.replace('+', ' '); // Preemptively decode +
+ name = Uri.decode(name);
+ text = query.substring(equ + 1);
+ text = text.replace('+', ' '); // Preemptively decode +
+ text = Uri.decode(text);
+ }
+ if (!map.containsKey(name)) {
+ map.put(name, text);
+ }
+ break;
+ }
+ if (equ < 0 || equ > amp) {
+ // No equal sign until the &: this is a simple parameter with no value.
+ String name = query.substring(pos, amp);
+ name = name.replace('+', ' '); // Preemptively decode +
+ name = Uri.decode(name);
+ if (!map.containsKey(name)) {
+ map.put(name, "");
+ }
+ pos = amp + 1;
+ continue;
+ }
+ String name = query.substring(pos, equ);
+ name = name.replace('+', ' '); // Preemptively decode +
+ name = Uri.decode(name);
+ String text = query.substring(equ+1, amp);
+ text = text.replace('+', ' '); // Preemptively decode +
+ text = Uri.decode(text);
+ if (!map.containsKey(name)) {
+ map.put(name, text);
+ }
+ pos = amp + 1;
+ }
+ return map;
+ }
+
+ static Map parseDecodeHints(Uri inputUri) {
+ String query = inputUri.getEncodedQuery();
+ if (query == null || query.isEmpty()) {
+ return null;
+ }
+
+ // Extract parameters
+ Map parameters = splitQuery(query);
+
+ Map hints = new EnumMap(DecodeHintType.class);
+
+ for (DecodeHintType hintType: DecodeHintType.values()) {
+
+ if (hintType == DecodeHintType.CHARACTER_SET ||
+ hintType == DecodeHintType.NEED_RESULT_POINT_CALLBACK ||
+ hintType == DecodeHintType.POSSIBLE_FORMATS) {
+ continue; // This hint is specified in another way
+ }
+
+ String parameterName = hintType.name();
+ String parameterText = parameters.get(parameterName);
+ if (parameterText == null) {
+ continue;
+ }
+ if (hintType.getValueType().equals(Object.class)) {
+ // This is an unspecified type of hint content. Use the value as is.
+ // TODO: Can we make a different assumption on this?
+ hints.put(hintType, parameterText);
+ continue;
+ }
+ if (hintType.getValueType().equals(Void.class)) {
+ // Void hints are just flags: use the constant specified by DecodeHintType
+ hints.put(hintType, Boolean.TRUE);
+ continue;
+ }
+ if (hintType.getValueType().equals(String.class)) {
+ // A string hint: use the decoded value.
+ hints.put(hintType, parameterText);
+ continue;
+ }
+ if (hintType.getValueType().equals(Boolean.class)) {
+ // A boolean hint: a few values for false, everything else is true.
+ // An empty parameter is simply a flag-style parameter, assuming true
+ if (parameterText.isEmpty()) {
+ hints.put(hintType, Boolean.TRUE);
+ } else if ("0".equals(parameterText) ||
+ "false".equalsIgnoreCase(parameterText) ||
+ "no".equalsIgnoreCase(parameterText)) {
+ hints.put(hintType, Boolean.FALSE);
+ } else {
+ hints.put(hintType, Boolean.TRUE);
+ }
+
+ continue;
+ }
+ if (hintType.getValueType().equals(int[].class)) {
+ // An integer array. Used to specify valid lengths.
+ // Strip a trailing comma as in Java style array initialisers.
+ if (!parameterText.isEmpty() && parameterText.charAt(parameterText.length() - 1) == ',') {
+ parameterText = parameterText.substring(0, parameterText.length() - 1);
+ }
+ String[] values = COMMA.split(parameterText);
+ int[] array = new int[values.length];
+ for (int i = 0; i < values.length; i++) {
+ try {
+ array[i] = Integer.parseInt(values[i]);
+ } catch (NumberFormatException ignored) {
+ Log.w(TAG, "Skipping array of integers hint " + hintType + " due to invalid numeric value: '" + values[i] + '\'');
+ array = null;
+ break;
+ }
+ }
+ if (array != null) {
+ hints.put(hintType, array);
+ }
+ continue;
+ }
+ Log.w(TAG, "Unsupported hint type '" + hintType + "' of type " + hintType.getValueType());
+ }
+
+ Log.i(TAG, "Hints from the URI: " + hints);
+ return hints;
+ }
+
+ static Map parseDecodeHints(Intent intent) {
+ Bundle extras = intent.getExtras();
+ if (extras == null || extras.isEmpty()) {
+ return null;
+ }
+ Map hints = new EnumMap(DecodeHintType.class);
+
+ for (DecodeHintType hintType: DecodeHintType.values()) {
+
+ if (hintType == DecodeHintType.CHARACTER_SET ||
+ hintType == DecodeHintType.NEED_RESULT_POINT_CALLBACK ||
+ hintType == DecodeHintType.POSSIBLE_FORMATS) {
+ continue; // This hint is specified in another way
+ }
+
+ String hintName = hintType.name();
+ if (extras.containsKey(hintName)) {
+ if (hintType.getValueType().equals(Void.class)) {
+ // Void hints are just flags: use the constant specified by the DecodeHintType
+ hints.put(hintType, Boolean.TRUE);
+ } else {
+ Object hintData = extras.get(hintName);
+ if (hintType.getValueType().isInstance(hintData)) {
+ hints.put(hintType, hintData);
+ } else {
+ Log.w(TAG, "Ignoring hint " + hintType + " because it is not assignable from " + hintData);
+ }
+ }
+ }
+ }
+
+ Log.i(TAG, "Hints from the Intent: " + hints);
+ return hints;
+ }
+
+}
diff --git a/src/java/PluginQR/src/com/google/zxing/client/android/DecodeThread.java b/src/java/PluginQR/src/com/google/zxing/client/android/DecodeThread.java
new file mode 100644
index 00000000..99f3eff3
--- /dev/null
+++ b/src/java/PluginQR/src/com/google/zxing/client/android/DecodeThread.java
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2008 ZXing authors
+ *
+ * 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.google.zxing.client.android;
+
+import com.google.zxing.BarcodeFormat;
+import com.google.zxing.DecodeHintType;
+import com.google.zxing.ResultPointCallback;
+
+import android.content.SharedPreferences;
+import android.os.Handler;
+import android.os.Looper;
+import android.preference.PreferenceManager;
+import android.util.Log;
+
+import java.util.Collection;
+import java.util.EnumMap;
+import java.util.EnumSet;
+import java.util.Map;
+import java.util.concurrent.CountDownLatch;
+
+/**
+ * This thread does all the heavy lifting of decoding the images.
+ *
+ * @author dswitkin@google.com (Daniel Switkin)
+ */
+final class DecodeThread extends Thread {
+
+ public static final String BARCODE_BITMAP = "barcode_bitmap";
+ public static final String BARCODE_SCALED_FACTOR = "barcode_scaled_factor";
+
+ private final CaptureActivity activity;
+ private final Map hints;
+ private Handler handler;
+ private final CountDownLatch handlerInitLatch;
+
+ DecodeThread(CaptureActivity activity,
+ Collection decodeFormats,
+ Map baseHints,
+ String characterSet,
+ ResultPointCallback resultPointCallback) {
+
+ this.activity = activity;
+ handlerInitLatch = new CountDownLatch(1);
+
+ hints = new EnumMap(DecodeHintType.class);
+ if (baseHints != null) {
+ hints.putAll(baseHints);
+ }
+
+ // The prefs can't change while the thread is running, so pick them up once here.
+ if (decodeFormats == null || decodeFormats.isEmpty()) {
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
+ decodeFormats = EnumSet.noneOf(BarcodeFormat.class);
+ if (prefs.getBoolean(PreferencesActivity.KEY_DECODE_1D, false)) {
+ decodeFormats.addAll(DecodeFormatManager.ONE_D_FORMATS);
+ }
+ if (prefs.getBoolean(PreferencesActivity.KEY_DECODE_QR, false)) {
+ decodeFormats.addAll(DecodeFormatManager.QR_CODE_FORMATS);
+ }
+ if (prefs.getBoolean(PreferencesActivity.KEY_DECODE_DATA_MATRIX, false)) {
+ decodeFormats.addAll(DecodeFormatManager.DATA_MATRIX_FORMATS);
+ }
+ }
+ hints.put(DecodeHintType.POSSIBLE_FORMATS, decodeFormats);
+
+ if (characterSet != null) {
+ hints.put(DecodeHintType.CHARACTER_SET, characterSet);
+ }
+ hints.put(DecodeHintType.NEED_RESULT_POINT_CALLBACK, resultPointCallback);
+ Log.i("DecodeThread", "Hints: " + hints);
+ }
+
+ Handler getHandler() {
+ try {
+ handlerInitLatch.await();
+ } catch (InterruptedException ie) {
+ // continue?
+ }
+ return handler;
+ }
+
+ @Override
+ public void run() {
+ Looper.prepare();
+ handler = new DecodeHandler(activity, hints);
+ handlerInitLatch.countDown();
+ Looper.loop();
+ }
+
+}
diff --git a/src/java/PluginQR/src/com/google/zxing/client/android/FinishListener.java b/src/java/PluginQR/src/com/google/zxing/client/android/FinishListener.java
new file mode 100644
index 00000000..5d598861
--- /dev/null
+++ b/src/java/PluginQR/src/com/google/zxing/client/android/FinishListener.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2010 ZXing authors
+ *
+ * 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.google.zxing.client.android;
+
+import android.app.Activity;
+import android.content.DialogInterface;
+
+/**
+ * Simple listener used to exit the app in a few cases.
+ *
+ * @author Sean Owen
+ */
+public final class FinishListener implements DialogInterface.OnClickListener, DialogInterface.OnCancelListener {
+
+ private final Activity activityToFinish;
+
+ public FinishListener(Activity activityToFinish) {
+ this.activityToFinish = activityToFinish;
+ }
+
+ @Override
+ public void onCancel(DialogInterface dialogInterface) {
+ run();
+ }
+
+ @Override
+ public void onClick(DialogInterface dialogInterface, int i) {
+ run();
+ }
+
+ private void run() {
+ activityToFinish.finish();
+ }
+
+}
diff --git a/src/java/PluginQR/src/com/google/zxing/client/android/HelpActivity.java b/src/java/PluginQR/src/com/google/zxing/client/android/HelpActivity.java
new file mode 100644
index 00000000..e88158a9
--- /dev/null
+++ b/src/java/PluginQR/src/com/google/zxing/client/android/HelpActivity.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2008 ZXing authors
+ *
+ * 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.google.zxing.client.android;
+
+import keepass2android.plugin.qr.R;
+import android.app.Activity;
+import android.os.Bundle;
+import android.view.KeyEvent;
+import android.webkit.WebView;
+
+/**
+ * An HTML-based help screen.
+ *
+ * @author dswitkin@google.com (Daniel Switkin)
+ */
+public final class HelpActivity extends Activity {
+
+ private static final String BASE_URL =
+ "file:///android_asset/html-" + LocaleManager.getTranslatedAssetLanguage() + '/';
+
+ private WebView webView;
+
+ @Override
+ protected void onCreate(Bundle icicle) {
+ super.onCreate(icicle);
+ setContentView(R.layout.help);
+
+ webView = (WebView) findViewById(R.id.help_contents);
+
+ if (icicle == null) {
+ webView.loadUrl(BASE_URL + "index.html");
+ } else {
+ webView.restoreState(icicle);
+ }
+ }
+
+ @Override
+ protected void onSaveInstanceState(Bundle state) {
+ String url = webView.getUrl();
+ if (url != null && !url.isEmpty()) {
+ webView.saveState(state);
+ }
+ }
+
+ @Override
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
+ if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {
+ webView.goBack();
+ return true;
+ }
+ return super.onKeyDown(keyCode, event);
+ }
+
+}
diff --git a/src/java/PluginQR/src/com/google/zxing/client/android/HttpHelper.java b/src/java/PluginQR/src/com/google/zxing/client/android/HttpHelper.java
new file mode 100644
index 00000000..f0d9b07f
--- /dev/null
+++ b/src/java/PluginQR/src/com/google/zxing/client/android/HttpHelper.java
@@ -0,0 +1,243 @@
+/*
+ * Copyright 2011 ZXing authors
+ *
+ * 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.google.zxing.client.android;
+
+import android.util.Log;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.net.HttpURLConnection;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+
+/**
+ * Utility methods for retrieving content over HTTP using the more-supported {@code java.net} classes
+ * in Android.
+ */
+public final class HttpHelper {
+
+ private static final String TAG = HttpHelper.class.getSimpleName();
+
+ private static final Collection REDIRECTOR_DOMAINS = new HashSet(Arrays.asList(
+ "amzn.to", "bit.ly", "bitly.com", "fb.me", "goo.gl", "is.gd", "j.mp", "lnkd.in", "ow.ly",
+ "R.BEETAGG.COM", "r.beetagg.com", "SCN.BY", "su.pr", "t.co", "tinyurl.com", "tr.im"
+ ));
+
+ private HttpHelper() {
+ }
+
+ public enum ContentType {
+ /** HTML-like content type, including HTML, XHTML, etc. */
+ HTML,
+ /** JSON content */
+ JSON,
+ /** XML */
+ XML,
+ /** Plain text content */
+ TEXT,
+ }
+
+ /**
+ * Downloads the entire resource instead of part.
+ *
+ * @see #downloadViaHttp(String, HttpHelper.ContentType, int)
+ */
+ public static CharSequence downloadViaHttp(String uri, ContentType type) throws IOException {
+ return downloadViaHttp(uri, type, Integer.MAX_VALUE);
+ }
+
+ /**
+ * @param uri URI to retrieve
+ * @param type expected text-like MIME type of that content
+ * @param maxChars approximate maximum characters to read from the source
+ * @return content as a {@code String}
+ * @throws IOException if the content can't be retrieved because of a bad URI, network problem, etc.
+ */
+ public static CharSequence downloadViaHttp(String uri, ContentType type, int maxChars) throws IOException {
+ String contentTypes;
+ switch (type) {
+ case HTML:
+ contentTypes = "application/xhtml+xml,text/html,text/*,*/*";
+ break;
+ case JSON:
+ contentTypes = "application/json,text/*,*/*";
+ break;
+ case XML:
+ contentTypes = "application/xml,text/*,*/*";
+ break;
+ case TEXT:
+ default:
+ contentTypes = "text/*,*/*";
+ }
+ return downloadViaHttp(uri, contentTypes, maxChars);
+ }
+
+ private static CharSequence downloadViaHttp(String uri, String contentTypes, int maxChars) throws IOException {
+ int redirects = 0;
+ while (redirects < 5) {
+ URL url = new URL(uri);
+ HttpURLConnection connection = safelyOpenConnection(url);
+ connection.setInstanceFollowRedirects(true); // Won't work HTTP -> HTTPS or vice versa
+ connection.setRequestProperty("Accept", contentTypes);
+ connection.setRequestProperty("Accept-Charset", "utf-8,*");
+ connection.setRequestProperty("User-Agent", "ZXing (Android)");
+ try {
+ int responseCode = safelyConnect(uri, connection);
+ switch (responseCode) {
+ case HttpURLConnection.HTTP_OK:
+ return consume(connection, maxChars);
+ case HttpURLConnection.HTTP_MOVED_TEMP:
+ String location = connection.getHeaderField("Location");
+ if (location != null) {
+ uri = location;
+ redirects++;
+ continue;
+ }
+ throw new IOException("No Location");
+ default:
+ throw new IOException("Bad HTTP response: " + responseCode);
+ }
+ } finally {
+ connection.disconnect();
+ }
+ }
+ throw new IOException("Too many redirects");
+ }
+
+ private static String getEncoding(URLConnection connection) {
+ String contentTypeHeader = connection.getHeaderField("Content-Type");
+ if (contentTypeHeader != null) {
+ int charsetStart = contentTypeHeader.indexOf("charset=");
+ if (charsetStart >= 0) {
+ return contentTypeHeader.substring(charsetStart + "charset=".length());
+ }
+ }
+ return "UTF-8";
+ }
+
+ private static CharSequence consume(URLConnection connection, int maxChars) throws IOException {
+ String encoding = getEncoding(connection);
+ StringBuilder out = new StringBuilder();
+ Reader in = null;
+ try {
+ in = new InputStreamReader(connection.getInputStream(), encoding);
+ char[] buffer = new char[1024];
+ int charsRead;
+ while (out.length() < maxChars && (charsRead = in.read(buffer)) > 0) {
+ out.append(buffer, 0, charsRead);
+ }
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (IOException ioe) {
+ // continue
+ } catch (NullPointerException npe) {
+ // another apparent Android / Harmony bug; continue
+ }
+ }
+ }
+ return out;
+ }
+
+ public static URI unredirect(URI uri) throws IOException {
+ if (!REDIRECTOR_DOMAINS.contains(uri.getHost())) {
+ return uri;
+ }
+ URL url = uri.toURL();
+ HttpURLConnection connection = safelyOpenConnection(url);
+ connection.setInstanceFollowRedirects(false);
+ connection.setDoInput(false);
+ connection.setRequestMethod("HEAD");
+ connection.setRequestProperty("User-Agent", "ZXing (Android)");
+ try {
+ int responseCode = safelyConnect(uri.toString(), connection);
+ switch (responseCode) {
+ case HttpURLConnection.HTTP_MULT_CHOICE:
+ case HttpURLConnection.HTTP_MOVED_PERM:
+ case HttpURLConnection.HTTP_MOVED_TEMP:
+ case HttpURLConnection.HTTP_SEE_OTHER:
+ case 307: // No constant for 307 Temporary Redirect ?
+ String location = connection.getHeaderField("Location");
+ if (location != null) {
+ try {
+ return new URI(location);
+ } catch (URISyntaxException e) {
+ // nevermind
+ }
+ }
+ }
+ return uri;
+ } finally {
+ connection.disconnect();
+ }
+ }
+
+ private static HttpURLConnection safelyOpenConnection(URL url) throws IOException {
+ URLConnection conn;
+ try {
+ conn = url.openConnection();
+ } catch (NullPointerException npe) {
+ // Another strange bug in Android?
+ Log.w(TAG, "Bad URI? " + url);
+ throw new IOException(npe);
+ }
+ if (!(conn instanceof HttpURLConnection)) {
+ throw new IOException();
+ }
+ return (HttpURLConnection) conn;
+ }
+
+ private static int safelyConnect(String uri, HttpURLConnection connection) throws IOException {
+ try {
+ connection.connect();
+ } catch (NullPointerException npe) {
+ // this is an Android bug: http://code.google.com/p/android/issues/detail?id=16895
+ throw new IOException(npe);
+ } catch (IllegalArgumentException iae) {
+ // Also seen this in the wild, not sure what to make of it. Probably a bad URL
+ throw new IOException(iae);
+ } catch (SecurityException se) {
+ // due to bad VPN settings?
+ Log.w(TAG, "Restricted URI? " + uri);
+ throw new IOException(se);
+ } catch (IndexOutOfBoundsException ioobe) {
+ // Another Android problem? https://groups.google.com/forum/?fromgroups#!topic/google-admob-ads-sdk/U-WfmYa9or0
+ throw new IOException(ioobe);
+ }
+ try {
+ return connection.getResponseCode();
+ } catch (NullPointerException npe) {
+ // this is maybe this Android bug: http://code.google.com/p/android/issues/detail?id=15554
+ throw new IOException(npe);
+ } catch (IllegalArgumentException iae) {
+ // Again seen this in the wild for bad header fields in the server response! or bad reads
+ Log.w(TAG, "Bad server status? " + uri);
+ throw new IOException(iae);
+ } catch (StringIndexOutOfBoundsException sioobe) {
+ // Another Android bug: https://code.google.com/p/android/issues/detail?id=18856
+ throw new IOException(sioobe);
+ }
+ }
+
+}
diff --git a/src/java/PluginQR/src/com/google/zxing/client/android/InactivityTimer.java b/src/java/PluginQR/src/com/google/zxing/client/android/InactivityTimer.java
new file mode 100644
index 00000000..67479848
--- /dev/null
+++ b/src/java/PluginQR/src/com/google/zxing/client/android/InactivityTimer.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) 2010 ZXing authors
+ *
+ * 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.google.zxing.client.android;
+
+import android.app.Activity;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.AsyncTask;
+import android.os.BatteryManager;
+import android.util.Log;
+
+/**
+ * Finishes an activity after a period of inactivity if the device is on battery power.
+ */
+final class InactivityTimer {
+
+ private static final String TAG = InactivityTimer.class.getSimpleName();
+
+ private static final long INACTIVITY_DELAY_MS = 5 * 60 * 1000L;
+
+ private final Activity activity;
+ private final BroadcastReceiver powerStatusReceiver;
+ private boolean registered;
+ private AsyncTask,?,?> inactivityTask;
+
+ InactivityTimer(Activity activity) {
+ this.activity = activity;
+ powerStatusReceiver = new PowerStatusReceiver();
+ registered = false;
+ onActivity();
+ }
+
+ synchronized void onActivity() {
+ cancel();
+ inactivityTask = new InactivityAsyncTask();
+ inactivityTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ }
+
+ public synchronized void onPause() {
+ cancel();
+ if (registered) {
+ activity.unregisterReceiver(powerStatusReceiver);
+ registered = false;
+ } else {
+ Log.w(TAG, "PowerStatusReceiver was never registered?");
+ }
+ }
+
+ public synchronized void onResume() {
+ if (registered) {
+ Log.w(TAG, "PowerStatusReceiver was already registered?");
+ } else {
+ activity.registerReceiver(powerStatusReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
+ registered = true;
+ }
+ onActivity();
+ }
+
+ private synchronized void cancel() {
+ AsyncTask,?,?> task = inactivityTask;
+ if (task != null) {
+ task.cancel(true);
+ inactivityTask = null;
+ }
+ }
+
+ void shutdown() {
+ cancel();
+ }
+
+ private final class PowerStatusReceiver extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context context, Intent intent){
+ if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
+ // 0 indicates that we're on battery
+ boolean onBatteryNow = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) <= 0;
+ if (onBatteryNow) {
+ InactivityTimer.this.onActivity();
+ } else {
+ InactivityTimer.this.cancel();
+ }
+ }
+ }
+ }
+
+ private final class InactivityAsyncTask extends AsyncTask