Bumped Barcode Scanner version to 3.5 final.
[zxing.git] / android / AndroidManifest.xml
index 4ff39db..d7bc3d5 100755 (executable)
@@ -20,15 +20,29 @@ version to be published. The next versionCode will be 7, regardless of whether t
 versionName is 2.31, 2.4, or 3.0. -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
           package="com.google.zxing.client.android"
-          android:versionName="2.8"
-          android:versionCode="20">
-  <uses-sdk android:minSdkVersion="1"/>
+          android:versionName="3.5"
+          android:versionCode="62"
+          android:installLocation="auto">
+  <!-- We require Cupcake (Android 1.5) or later, but are really targeting Donut. -->
+  <uses-sdk android:minSdkVersion="3"
+            android:targetSdkVersion="4"/>
+  <!-- Donut-specific flags which allow us to run on any dpi screens. -->
+  <supports-screens android:largeScreens="true"
+                    android:normalScreens="true"
+                    android:smallScreens="true"
+                    android:anyDensity="true"/>
+  <!-- For Donut and above we must specify that we use the camera, but intentionally omit the
+  autofocus feature in order for the app to appear in Market for non-AF devices. While it's true
+  that 1D barcodes will not be scannable, QR Codes will work. Ideally we'd show users a message
+  to this effect on first launch. -->
+  <uses-feature android:name="android.hardware.camera"/>
   <application android:icon="@drawable/launcher_icon"
                android:label="@string/app_name">
     <activity android:name=".CaptureActivity"
               android:screenOrientation="landscape"
               android:configChanges="orientation|keyboardHidden"
-              android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
+              android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
+              android:windowSoftInputMode="stateAlwaysHidden">
       <intent-filter>
         <action android:name="android.intent.action.MAIN"/>
         <category android:name="android.intent.category.LAUNCHER"/>
@@ -37,48 +51,44 @@ versionName is 2.31, 2.4, or 3.0. -->
         <action android:name="com.google.zxing.client.android.SCAN"/>
         <category android:name="android.intent.category.DEFAULT"/>
       </intent-filter>
-      <intent-filter>
-        <!-- For compatibility only - do not use in new code, this will go away! -->
-        <action android:name="com.android.barcodes.SCAN"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>
       <!-- Allow web apps to launch Barcode Scanner by linking to http://zxing.appspot.com/scan. -->
       <intent-filter>
         <action android:name="android.intent.action.VIEW"/>
-        <category android:name="android.intent.category.DEFAULT" />
+        <category android:name="android.intent.category.DEFAULT"/>
         <category android:name="android.intent.category.BROWSABLE"/>
-        <data android:scheme="http" android:host="zxing.appspot.com" android:path="/scan" />
+        <data android:scheme="http" android:host="zxing.appspot.com" android:path="/scan"/>
       </intent-filter>
       <!-- We also support a Google Product Search URL. -->
       <intent-filter>
         <action android:name="android.intent.action.VIEW"/>
-        <category android:name="android.intent.category.DEFAULT" />
+        <category android:name="android.intent.category.DEFAULT"/>
         <category android:name="android.intent.category.BROWSABLE"/>
-        <data android:scheme="http" android:host="www.google.com" android:path="/m/products/scan" />
+        <data android:scheme="http" android:host="www.google.com" android:path="/m/products/scan"/>
       </intent-filter>
       <!-- And the UK version. -->
       <intent-filter>
         <action android:name="android.intent.action.VIEW"/>
-        <category android:name="android.intent.category.DEFAULT" />
+        <category android:name="android.intent.category.DEFAULT"/>
         <category android:name="android.intent.category.BROWSABLE"/>
-        <data android:scheme="http" android:host="www.google.co.uk" android:path="/m/products/scan" />
+        <data android:scheme="http" android:host="www.google.co.uk" android:path="/m/products/scan"/>
       </intent-filter>
     </activity>
-    <activity android:name="PreferencesActivity"
+    <activity android:name=".PreferencesActivity"
               android:label="@string/preferences_name">
     </activity>
-    <activity android:name="EncodeActivity">
+    <activity android:name=".encode.EncodeActivity">
       <intent-filter>
         <action android:name="com.google.zxing.client.android.ENCODE"/>
         <category android:name="android.intent.category.DEFAULT"/>
       </intent-filter>
+      <!-- This allows us to handle the Share button in Contacts. -->
       <intent-filter>
-        <!-- For compatibility only - do not use in new code, this will go away! -->
-        <action android:name="com.android.barcodes.ENCODE"/>
+        <action android:name="android.intent.action.SEND"/>
         <category android:name="android.intent.category.DEFAULT"/>
+        <data android:mimeType="text/x-vcard"/>
       </intent-filter>
     </activity>
-    <activity android:name="SearchBookContentsActivity"
+    <activity android:name=".book.SearchBookContentsActivity"
               android:label="@string/sbc_name"
               android:screenOrientation="landscape"
               android:configChanges="orientation|keyboardHidden">
@@ -86,13 +96,13 @@ versionName is 2.31, 2.4, or 3.0. -->
         <action android:name="com.google.zxing.client.android.SEARCH_BOOK_CONTENTS"/>
         <category android:name="android.intent.category.DEFAULT"/>
       </intent-filter>
-      <intent-filter>
-        <!-- For compatibility only - do not use in new code, this will go away! -->
-        <action android:name="com.android.barcodes.SEARCH_BOOK_CONTENTS"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>
     </activity>
-    <activity android:name="ShareActivity"
+    <activity android:name=".wifi.WifiActivity"
+              android:label="@string/wa_name"
+              android:screenOrientation="landscape"
+              android:configChanges="orientation|keyboardHidden">
+    </activity>
+    <activity android:name=".share.ShareActivity"
               android:label="@string/share_name"
               android:screenOrientation="user">
       <intent-filter>
@@ -100,14 +110,21 @@ versionName is 2.31, 2.4, or 3.0. -->
         <category android:name="android.intent.category.DEFAULT"/>
       </intent-filter>
     </activity>
-    <activity android:name="BookmarkPickerActivity"
+    <activity android:name=".share.BookmarkPickerActivity"
               android:label="@string/bookmark_picker_name">
       <intent-filter>
         <action android:name="android.intent.action.PICK"/>
         <category android:name="android.intent.category.DEFAULT"/>
       </intent-filter>
     </activity>
-    <activity android:name="HelpActivity"
+    <activity android:name=".share.AppPickerActivity"
+              android:label="@string/app_picker_name">
+      <intent-filter>
+        <action android:name="android.intent.action.PICK"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+      </intent-filter>
+    </activity>
+    <activity android:name=".HelpActivity"
               android:screenOrientation="user">
       <intent-filter>
         <action android:name="android.intent.action.VIEW"/>
@@ -121,4 +138,14 @@ versionName is 2.31, 2.4, or 3.0. -->
   <uses-permission android:name="android.permission.INTERNET"/>
   <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
   <uses-permission android:name="android.permission.VIBRATE"/>
+  <uses-permission android:name="android.permission.FLASHLIGHT"/>
+  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
+
+  <!-- Wifi related  -->
+  <uses-permission android:name="android.permission.WRITE_SETTINGS" />
+  <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
+  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+  <uses-permission android:name="android.permission.WAKE_LOCK" />
+
 </manifest>