Remove unused code in Gallery
Change-Id: I971d85a54149be074f9545c5a43319bda7f470ed
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index cb48b9f..542f6bf 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -15,23 +15,6 @@
<application android:icon="@drawable/ic_launcher_camera"
android:label="@string/camera_label"
android:taskAffinity="">
- <service android:name="UploadService" android:process="android.process.media" />
- <activity android:name="com.android.camera.Camera"
- android:configChanges="orientation|keyboardHidden"
- android:theme="@style/CustomTheme"
- android:screenOrientation="landscape"
- android:clearTaskOnLaunch="true"
- android:taskAffinity="android.task.camera">
- </activity>
- <activity android:name="com.android.camera.VideoCamera"
- android:label="@string/video_camera_label"
- android:configChanges="orientation|keyboardHidden"
- android:icon="@drawable/ic_launcher_video_camera"
- android:theme="@style/CustomTheme"
- android:screenOrientation="landscape"
- android:clearTaskOnLaunch="true"
- android:taskAffinity="android.task.camcorder">
- </activity>
<activity android:name="com.android.camera.GalleryPicker"
android:label="@string/gallery_picker_label"
android:configChanges="orientation|keyboardHidden"
@@ -99,13 +82,6 @@
<category android:name="android.intent.category.SELECTED_ALTERNATIVE" />
</intent-filter>
</activity>
- <activity android:name="com.android.camera.ReviewImage"
- android:label="@string/view_label"
- android:theme="@style/CustomTheme"
- android:screenOrientation="behind"
- android:configChanges="orientation|keyboardHidden"
- android:exported="true">
- </activity>
<activity android:name="com.android.camera.ViewImage"
android:label="@string/view_label"
android:screenOrientation="behind"
@@ -175,7 +151,6 @@
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
-
<receiver android:name="com.android.camera.PhotoAppWidgetProvider"
android:label="@string/gadget_title"
android:icon="@drawable/ic_launcher_gallery">
diff --git a/res/anim/on_screen_hint_enter.xml b/res/anim/on_screen_hint_enter.xml
deleted file mode 100644
index 0f00760..0000000
--- a/res/anim/on_screen_hint_enter.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2009, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<alpha xmlns:android="http://schemas.android.com/apk/res/android"
- android:interpolator="@android:anim/decelerate_interpolator"
- android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="400"
-/>
diff --git a/res/anim/on_screen_hint_exit.xml b/res/anim/on_screen_hint_exit.xml
deleted file mode 100644
index e9b38f8..0000000
--- a/res/anim/on_screen_hint_exit.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2009, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<alpha xmlns:android="http://schemas.android.com/apk/res/android"
- android:interpolator="@android:anim/accelerate_interpolator"
- android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="400"
-/>
diff --git a/res/anim/on_screen_menu_appear.xml b/res/anim/on_screen_menu_appear.xml
deleted file mode 100644
index c870521..0000000
--- a/res/anim/on_screen_menu_appear.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<translate xmlns:android="http://schemas.android.com/apk/res/android"
- android:fromXDelta="-100%"
- android:toXDelta="0"
- android:duration="500" />
diff --git a/res/anim/on_screen_menu_disappear.xml b/res/anim/on_screen_menu_disappear.xml
deleted file mode 100644
index f71c3da..0000000
--- a/res/anim/on_screen_menu_disappear.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<translate xmlns:android="http://schemas.android.com/apk/res/android"
- android:fromXDelta="0"
- android:toXDelta="-100%"
- android:duration="500" />
diff --git a/res/drawable-hdpi/bg_camera_pattern.png b/res/drawable-hdpi/bg_camera_pattern.png
deleted file mode 100644
index c11b9c4..0000000
--- a/res/drawable-hdpi/bg_camera_pattern.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/border_last_picture_highlight.9.png b/res/drawable-hdpi/border_last_picture_highlight.9.png
deleted file mode 100644
index d92e795..0000000
--- a/res/drawable-hdpi/border_last_picture_highlight.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/border_last_picture_normal.9.png b/res/drawable-hdpi/border_last_picture_normal.9.png
deleted file mode 100644
index 4ed2a34..0000000
--- a/res/drawable-hdpi/border_last_picture_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/border_last_picture_pressed.9.png b/res/drawable-hdpi/border_last_picture_pressed.9.png
deleted file mode 100644
index bcdb34b..0000000
--- a/res/drawable-hdpi/border_last_picture_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/border_view_finder.9.png b/res/drawable-hdpi/border_view_finder.9.png
deleted file mode 100644
index 07737df..0000000
--- a/res/drawable-hdpi/border_view_finder.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_camera_review_highlight.9.png b/res/drawable-hdpi/btn_camera_review_highlight.9.png
deleted file mode 100644
index 22d169b..0000000
--- a/res/drawable-hdpi/btn_camera_review_highlight.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_camera_review_normal.9.png b/res/drawable-hdpi/btn_camera_review_normal.9.png
deleted file mode 100644
index 2b582c5..0000000
--- a/res/drawable-hdpi/btn_camera_review_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_camera_review_pressed.9.png b/res/drawable-hdpi/btn_camera_review_pressed.9.png
deleted file mode 100644
index 44ec07f..0000000
--- a/res/drawable-hdpi/btn_camera_review_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_gripper.png b/res/drawable-hdpi/btn_gripper.png
deleted file mode 100755
index f5020c4..0000000
--- a/res/drawable-hdpi/btn_gripper.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_ic_camera_shutter.png b/res/drawable-hdpi/btn_ic_camera_shutter.png
deleted file mode 100644
index 346d929..0000000
--- a/res/drawable-hdpi/btn_ic_camera_shutter.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_ic_mode_switch_camera.png b/res/drawable-hdpi/btn_ic_mode_switch_camera.png
deleted file mode 100644
index 3f3e534..0000000
--- a/res/drawable-hdpi/btn_ic_mode_switch_camera.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_ic_mode_switch_video.png b/res/drawable-hdpi/btn_ic_mode_switch_video.png
deleted file mode 100644
index 0fc8302..0000000
--- a/res/drawable-hdpi/btn_ic_mode_switch_video.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_ic_review_cancel.png b/res/drawable-hdpi/btn_ic_review_cancel.png
deleted file mode 100644
index 5d099fa..0000000
--- a/res/drawable-hdpi/btn_ic_review_cancel.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_ic_review_delete.png b/res/drawable-hdpi/btn_ic_review_delete.png
deleted file mode 100644
index e4439df..0000000
--- a/res/drawable-hdpi/btn_ic_review_delete.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_ic_review_done.png b/res/drawable-hdpi/btn_ic_review_done.png
deleted file mode 100644
index c4f5bf0..0000000
--- a/res/drawable-hdpi/btn_ic_review_done.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_ic_review_play.png b/res/drawable-hdpi/btn_ic_review_play.png
deleted file mode 100644
index 34a16e4..0000000
--- a/res/drawable-hdpi/btn_ic_review_play.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_ic_review_retake_photo.png b/res/drawable-hdpi/btn_ic_review_retake_photo.png
deleted file mode 100644
index bf5ca99..0000000
--- a/res/drawable-hdpi/btn_ic_review_retake_photo.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_ic_review_retake_video.png b/res/drawable-hdpi/btn_ic_review_retake_video.png
deleted file mode 100644
index c6bb106..0000000
--- a/res/drawable-hdpi/btn_ic_review_retake_video.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_ic_review_set_as.png b/res/drawable-hdpi/btn_ic_review_set_as.png
deleted file mode 100644
index 0d34231..0000000
--- a/res/drawable-hdpi/btn_ic_review_set_as.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_ic_review_share.png b/res/drawable-hdpi/btn_ic_review_share.png
deleted file mode 100644
index 0cbd20a..0000000
--- a/res/drawable-hdpi/btn_ic_review_share.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_ic_video_record.png b/res/drawable-hdpi/btn_ic_video_record.png
deleted file mode 100644
index 77719a8..0000000
--- a/res/drawable-hdpi/btn_ic_video_record.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_ic_video_record_stop.png b/res/drawable-hdpi/btn_ic_video_record_stop.png
deleted file mode 100644
index 5d54e7f..0000000
--- a/res/drawable-hdpi/btn_ic_video_record_stop.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_mode_switch_bg.9.png b/res/drawable-hdpi/btn_mode_switch_bg.9.png
deleted file mode 100644
index 0b8b5d5..0000000
--- a/res/drawable-hdpi/btn_mode_switch_bg.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_mode_switch_knob_highlight.png b/res/drawable-hdpi/btn_mode_switch_knob_highlight.png
deleted file mode 100644
index c44a12d..0000000
--- a/res/drawable-hdpi/btn_mode_switch_knob_highlight.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_mode_switch_knob_normal.png b/res/drawable-hdpi/btn_mode_switch_knob_normal.png
deleted file mode 100644
index 8ff7a2b..0000000
--- a/res/drawable-hdpi/btn_mode_switch_knob_normal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_mode_switch_knob_pressed.png b/res/drawable-hdpi/btn_mode_switch_knob_pressed.png
deleted file mode 100644
index 29e0ec9..0000000
--- a/res/drawable-hdpi/btn_mode_switch_knob_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_shutter_normal.png b/res/drawable-hdpi/btn_shutter_normal.png
deleted file mode 100644
index d815d2e..0000000
--- a/res/drawable-hdpi/btn_shutter_normal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_shutter_pressed.png b/res/drawable-hdpi/btn_shutter_pressed.png
deleted file mode 100644
index eed68f2..0000000
--- a/res/drawable-hdpi/btn_shutter_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/focus_focus_failed.9.png b/res/drawable-hdpi/focus_focus_failed.9.png
deleted file mode 100644
index f0d9ca0..0000000
--- a/res/drawable-hdpi/focus_focus_failed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/focus_focused.9.png b/res/drawable-hdpi/focus_focused.9.png
deleted file mode 100644
index e7c5c57..0000000
--- a/res/drawable-hdpi/focus_focused.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/focus_focusing.9.png b/res/drawable-hdpi/focus_focusing.9.png
deleted file mode 100644
index 0bef57a..0000000
--- a/res/drawable-hdpi/focus_focusing.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/gripper_handle.9.png b/res/drawable-hdpi/gripper_handle.9.png
deleted file mode 100644
index e7a2c20..0000000
--- a/res/drawable-hdpi/gripper_handle.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_btn_actionmenu_gallery_default.png b/res/drawable-hdpi/ic_btn_actionmenu_gallery_default.png
deleted file mode 100644
index 3743489..0000000
--- a/res/drawable-hdpi/ic_btn_actionmenu_gallery_default.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_btn_actionmenu_gallery_pressed.png b/res/drawable-hdpi/ic_btn_actionmenu_gallery_pressed.png
deleted file mode 100644
index cd6ae69..0000000
--- a/res/drawable-hdpi/ic_btn_actionmenu_gallery_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_btn_actionmenu_gallery_selected.png b/res/drawable-hdpi/ic_btn_actionmenu_gallery_selected.png
deleted file mode 100644
index 961bc7b..0000000
--- a/res/drawable-hdpi/ic_btn_actionmenu_gallery_selected.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_camera_sym_gps.png b/res/drawable-hdpi/ic_camera_sym_gps.png
deleted file mode 100644
index a797323..0000000
--- a/res/drawable-hdpi/ic_camera_sym_gps.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_launcher_video_camera.png b/res/drawable-hdpi/ic_launcher_video_camera.png
deleted file mode 100644
index d242657..0000000
--- a/res/drawable-hdpi/ic_launcher_video_camera.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_recording_indicator.png b/res/drawable-hdpi/ic_recording_indicator.png
deleted file mode 100644
index 509eb8b..0000000
--- a/res/drawable-hdpi/ic_recording_indicator.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_viewfinder_empty.png b/res/drawable-hdpi/ic_viewfinder_empty.png
deleted file mode 100644
index 6fe7fef..0000000
--- a/res/drawable-hdpi/ic_viewfinder_empty.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_viewfinder_flash_auto.png b/res/drawable-hdpi/ic_viewfinder_flash_auto.png
deleted file mode 100755
index 27968e7..0000000
--- a/res/drawable-hdpi/ic_viewfinder_flash_auto.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_viewfinder_flash_off.png b/res/drawable-hdpi/ic_viewfinder_flash_off.png
deleted file mode 100644
index 4a8bb95..0000000
--- a/res/drawable-hdpi/ic_viewfinder_flash_off.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_viewfinder_flash_on.png b/res/drawable-hdpi/ic_viewfinder_flash_on.png
deleted file mode 100755
index 71ee867..0000000
--- a/res/drawable-hdpi/ic_viewfinder_flash_on.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_viewfinder_focus_infinity.png b/res/drawable-hdpi/ic_viewfinder_focus_infinity.png
deleted file mode 100644
index 82112fc..0000000
--- a/res/drawable-hdpi/ic_viewfinder_focus_infinity.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_viewfinder_focus_macro.png b/res/drawable-hdpi/ic_viewfinder_focus_macro.png
deleted file mode 100644
index 85d4a55..0000000
--- a/res/drawable-hdpi/ic_viewfinder_focus_macro.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_viewfinder_scenemode.png b/res/drawable-hdpi/ic_viewfinder_scenemode.png
deleted file mode 100644
index 01752a6..0000000
--- a/res/drawable-hdpi/ic_viewfinder_scenemode.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_viewfinder_wb_cloudy.png b/res/drawable-hdpi/ic_viewfinder_wb_cloudy.png
deleted file mode 100644
index 9766f7b..0000000
--- a/res/drawable-hdpi/ic_viewfinder_wb_cloudy.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_viewfinder_wb_daylight.png b/res/drawable-hdpi/ic_viewfinder_wb_daylight.png
deleted file mode 100644
index 3ecebe6..0000000
--- a/res/drawable-hdpi/ic_viewfinder_wb_daylight.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_viewfinder_wb_fluorescent.png b/res/drawable-hdpi/ic_viewfinder_wb_fluorescent.png
deleted file mode 100644
index 889f607..0000000
--- a/res/drawable-hdpi/ic_viewfinder_wb_fluorescent.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_viewfinder_wb_incandescent.png b/res/drawable-hdpi/ic_viewfinder_wb_incandescent.png
deleted file mode 100644
index 0fce7ce..0000000
--- a/res/drawable-hdpi/ic_viewfinder_wb_incandescent.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/on_screen_hint_frame.9.png b/res/drawable-hdpi/on_screen_hint_frame.9.png
deleted file mode 100644
index 8b78d67..0000000
--- a/res/drawable-hdpi/on_screen_hint_frame.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/bg_camera_pattern.png b/res/drawable-mdpi/bg_camera_pattern.png
deleted file mode 100755
index e9c67ff..0000000
--- a/res/drawable-mdpi/bg_camera_pattern.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/border_last_picture_highlight.9.png b/res/drawable-mdpi/border_last_picture_highlight.9.png
deleted file mode 100755
index 8bbac44..0000000
--- a/res/drawable-mdpi/border_last_picture_highlight.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/border_last_picture_normal.9.png b/res/drawable-mdpi/border_last_picture_normal.9.png
deleted file mode 100755
index 0bebf8f..0000000
--- a/res/drawable-mdpi/border_last_picture_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/border_last_picture_pressed.9.png b/res/drawable-mdpi/border_last_picture_pressed.9.png
deleted file mode 100755
index 7671494..0000000
--- a/res/drawable-mdpi/border_last_picture_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/border_view_finder.9.png b/res/drawable-mdpi/border_view_finder.9.png
deleted file mode 100755
index cb1141f..0000000
--- a/res/drawable-mdpi/border_view_finder.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_camera_review_highlight.9.png b/res/drawable-mdpi/btn_camera_review_highlight.9.png
deleted file mode 100755
index 21ebe84..0000000
--- a/res/drawable-mdpi/btn_camera_review_highlight.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_camera_review_normal.9.png b/res/drawable-mdpi/btn_camera_review_normal.9.png
deleted file mode 100755
index b8f33e5..0000000
--- a/res/drawable-mdpi/btn_camera_review_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_camera_review_pressed.9.png b/res/drawable-mdpi/btn_camera_review_pressed.9.png
deleted file mode 100755
index 74997c9..0000000
--- a/res/drawable-mdpi/btn_camera_review_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_gripper.png b/res/drawable-mdpi/btn_gripper.png
deleted file mode 100644
index 5c70bbc..0000000
--- a/res/drawable-mdpi/btn_gripper.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_ic_camera_shutter.png b/res/drawable-mdpi/btn_ic_camera_shutter.png
deleted file mode 100755
index 39660f0..0000000
--- a/res/drawable-mdpi/btn_ic_camera_shutter.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_ic_mode_switch_camera.png b/res/drawable-mdpi/btn_ic_mode_switch_camera.png
deleted file mode 100755
index 9dbe57b..0000000
--- a/res/drawable-mdpi/btn_ic_mode_switch_camera.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_ic_mode_switch_video.png b/res/drawable-mdpi/btn_ic_mode_switch_video.png
deleted file mode 100755
index 397e9ad..0000000
--- a/res/drawable-mdpi/btn_ic_mode_switch_video.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_ic_review_cancel.png b/res/drawable-mdpi/btn_ic_review_cancel.png
deleted file mode 100755
index f39df24..0000000
--- a/res/drawable-mdpi/btn_ic_review_cancel.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_ic_review_delete.png b/res/drawable-mdpi/btn_ic_review_delete.png
deleted file mode 100755
index 3318728..0000000
--- a/res/drawable-mdpi/btn_ic_review_delete.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_ic_review_done.png b/res/drawable-mdpi/btn_ic_review_done.png
deleted file mode 100755
index ce03d41..0000000
--- a/res/drawable-mdpi/btn_ic_review_done.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_ic_review_play.png b/res/drawable-mdpi/btn_ic_review_play.png
deleted file mode 100755
index c8d5e0d..0000000
--- a/res/drawable-mdpi/btn_ic_review_play.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_ic_review_retake_photo.png b/res/drawable-mdpi/btn_ic_review_retake_photo.png
deleted file mode 100755
index 949a398..0000000
--- a/res/drawable-mdpi/btn_ic_review_retake_photo.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_ic_review_retake_video.png b/res/drawable-mdpi/btn_ic_review_retake_video.png
deleted file mode 100755
index b93138b..0000000
--- a/res/drawable-mdpi/btn_ic_review_retake_video.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_ic_review_set_as.png b/res/drawable-mdpi/btn_ic_review_set_as.png
deleted file mode 100755
index e86322c..0000000
--- a/res/drawable-mdpi/btn_ic_review_set_as.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_ic_review_share.png b/res/drawable-mdpi/btn_ic_review_share.png
deleted file mode 100755
index 04ee5bd..0000000
--- a/res/drawable-mdpi/btn_ic_review_share.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_ic_video_record.png b/res/drawable-mdpi/btn_ic_video_record.png
deleted file mode 100755
index 55aeea7..0000000
--- a/res/drawable-mdpi/btn_ic_video_record.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_ic_video_record_stop.png b/res/drawable-mdpi/btn_ic_video_record_stop.png
deleted file mode 100755
index ca86068..0000000
--- a/res/drawable-mdpi/btn_ic_video_record_stop.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_mode_switch_bg.9.png b/res/drawable-mdpi/btn_mode_switch_bg.9.png
deleted file mode 100755
index ca21384..0000000
--- a/res/drawable-mdpi/btn_mode_switch_bg.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_mode_switch_knob_highlight.png b/res/drawable-mdpi/btn_mode_switch_knob_highlight.png
deleted file mode 100755
index 52dd9e5..0000000
--- a/res/drawable-mdpi/btn_mode_switch_knob_highlight.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_mode_switch_knob_normal.png b/res/drawable-mdpi/btn_mode_switch_knob_normal.png
deleted file mode 100755
index 8886e9b..0000000
--- a/res/drawable-mdpi/btn_mode_switch_knob_normal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_mode_switch_knob_pressed.png b/res/drawable-mdpi/btn_mode_switch_knob_pressed.png
deleted file mode 100755
index e46a0c0..0000000
--- a/res/drawable-mdpi/btn_mode_switch_knob_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_shutter_normal.png b/res/drawable-mdpi/btn_shutter_normal.png
deleted file mode 100755
index b35cf44..0000000
--- a/res/drawable-mdpi/btn_shutter_normal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_shutter_pressed.png b/res/drawable-mdpi/btn_shutter_pressed.png
deleted file mode 100755
index 49458ff..0000000
--- a/res/drawable-mdpi/btn_shutter_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/focus_focus_failed.9.png b/res/drawable-mdpi/focus_focus_failed.9.png
deleted file mode 100755
index 62d0944..0000000
--- a/res/drawable-mdpi/focus_focus_failed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/focus_focused.9.png b/res/drawable-mdpi/focus_focused.9.png
deleted file mode 100755
index 2cf4423..0000000
--- a/res/drawable-mdpi/focus_focused.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/focus_focusing.9.png b/res/drawable-mdpi/focus_focusing.9.png
deleted file mode 100755
index 3fea637..0000000
--- a/res/drawable-mdpi/focus_focusing.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/gripper_handle.9.png b/res/drawable-mdpi/gripper_handle.9.png
deleted file mode 100644
index b599583..0000000
--- a/res/drawable-mdpi/gripper_handle.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_btn_actionmenu_gallery_default.png b/res/drawable-mdpi/ic_btn_actionmenu_gallery_default.png
deleted file mode 100644
index 4d3456c..0000000
--- a/res/drawable-mdpi/ic_btn_actionmenu_gallery_default.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_btn_actionmenu_gallery_pressed.png b/res/drawable-mdpi/ic_btn_actionmenu_gallery_pressed.png
deleted file mode 100644
index 4c29587..0000000
--- a/res/drawable-mdpi/ic_btn_actionmenu_gallery_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_btn_actionmenu_gallery_selected.png b/res/drawable-mdpi/ic_btn_actionmenu_gallery_selected.png
deleted file mode 100644
index 27349d4..0000000
--- a/res/drawable-mdpi/ic_btn_actionmenu_gallery_selected.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_camera_sym_gps.png b/res/drawable-mdpi/ic_camera_sym_gps.png
deleted file mode 100644
index 8487159..0000000
--- a/res/drawable-mdpi/ic_camera_sym_gps.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_launcher_video_camera.png b/res/drawable-mdpi/ic_launcher_video_camera.png
deleted file mode 100644
index e80255a..0000000
--- a/res/drawable-mdpi/ic_launcher_video_camera.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_recording_indicator.png b/res/drawable-mdpi/ic_recording_indicator.png
deleted file mode 100755
index aa8781d..0000000
--- a/res/drawable-mdpi/ic_recording_indicator.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_viewfinder_empty.png b/res/drawable-mdpi/ic_viewfinder_empty.png
deleted file mode 100644
index 2d9884b..0000000
--- a/res/drawable-mdpi/ic_viewfinder_empty.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_viewfinder_flash_auto.png b/res/drawable-mdpi/ic_viewfinder_flash_auto.png
deleted file mode 100755
index 79e36b7..0000000
--- a/res/drawable-mdpi/ic_viewfinder_flash_auto.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_viewfinder_flash_off.png b/res/drawable-mdpi/ic_viewfinder_flash_off.png
deleted file mode 100644
index d076636..0000000
--- a/res/drawable-mdpi/ic_viewfinder_flash_off.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_viewfinder_flash_on.png b/res/drawable-mdpi/ic_viewfinder_flash_on.png
deleted file mode 100755
index 91dfe24..0000000
--- a/res/drawable-mdpi/ic_viewfinder_flash_on.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_viewfinder_focus_infinity.png b/res/drawable-mdpi/ic_viewfinder_focus_infinity.png
deleted file mode 100644
index afa0902..0000000
--- a/res/drawable-mdpi/ic_viewfinder_focus_infinity.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_viewfinder_focus_macro.png b/res/drawable-mdpi/ic_viewfinder_focus_macro.png
deleted file mode 100644
index e5c560f..0000000
--- a/res/drawable-mdpi/ic_viewfinder_focus_macro.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_viewfinder_scenemode.png b/res/drawable-mdpi/ic_viewfinder_scenemode.png
deleted file mode 100644
index 8484f9e..0000000
--- a/res/drawable-mdpi/ic_viewfinder_scenemode.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_viewfinder_wb_cloudy.png b/res/drawable-mdpi/ic_viewfinder_wb_cloudy.png
deleted file mode 100644
index 2d02af3..0000000
--- a/res/drawable-mdpi/ic_viewfinder_wb_cloudy.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_viewfinder_wb_daylight.png b/res/drawable-mdpi/ic_viewfinder_wb_daylight.png
deleted file mode 100644
index 77e4a6e..0000000
--- a/res/drawable-mdpi/ic_viewfinder_wb_daylight.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_viewfinder_wb_fluorescent.png b/res/drawable-mdpi/ic_viewfinder_wb_fluorescent.png
deleted file mode 100644
index 3a5f6ef..0000000
--- a/res/drawable-mdpi/ic_viewfinder_wb_fluorescent.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_viewfinder_wb_incandescent.png b/res/drawable-mdpi/ic_viewfinder_wb_incandescent.png
deleted file mode 100644
index cddb4a1..0000000
--- a/res/drawable-mdpi/ic_viewfinder_wb_incandescent.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/on_screen_hint_frame.9.png b/res/drawable-mdpi/on_screen_hint_frame.9.png
deleted file mode 100644
index 08c4f86..0000000
--- a/res/drawable-mdpi/on_screen_hint_frame.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/border_last_picture.xml b/res/drawable/border_last_picture.xml
deleted file mode 100644
index 6cddf88..0000000
--- a/res/drawable/border_last_picture.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true" android:drawable="@drawable/border_last_picture_pressed" />
- <item android:state_window_focused="true"
- android:state_focused="true"
- android:drawable="@drawable/border_last_picture_highlight" />
- <item android:drawable="@drawable/border_last_picture_normal" />
-</selector>
-
diff --git a/res/drawable/btn_camera_review.xml b/res/drawable/btn_camera_review.xml
deleted file mode 100644
index 777cf40..0000000
--- a/res/drawable/btn_camera_review.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true" android:drawable="@drawable/btn_camera_review_pressed" />
- <item android:state_window_focused="true"
- android:state_focused="true"
- android:drawable="@drawable/btn_camera_review_highlight" />
- <item android:drawable="@drawable/btn_camera_review_normal" />
-</selector>
-
-
diff --git a/res/drawable/btn_mode_switch_knob.xml b/res/drawable/btn_mode_switch_knob.xml
deleted file mode 100644
index 17792e6..0000000
--- a/res/drawable/btn_mode_switch_knob.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true" android:drawable="@drawable/btn_mode_switch_knob_pressed" />
- <item android:state_window_focused="true"
- android:state_focused="true"
- android:drawable="@drawable/btn_mode_switch_knob_highlight" />
- <item android:drawable="@drawable/btn_mode_switch_knob_normal" />
-</selector>
-
-
diff --git a/res/drawable/btn_shutter.xml b/res/drawable/btn_shutter.xml
deleted file mode 100644
index 2e4218c..0000000
--- a/res/drawable/btn_shutter.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true" android:drawable="@drawable/btn_shutter_pressed" />
- <item android:drawable="@drawable/btn_shutter_normal" />
-</selector>
-
diff --git a/res/drawable/camera_background.xml b/res/drawable/camera_background.xml
deleted file mode 100644
index 4f04754..0000000
--- a/res/drawable/camera_background.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
- android:src="@drawable/bg_camera_pattern"
- android:tileMode="repeat" />
diff --git a/res/drawable/ic_menu_gallery.xml b/res/drawable/ic_menu_gallery.xml
deleted file mode 100644
index 4b0319a..0000000
--- a/res/drawable/ic_menu_gallery.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/* grid_background.xml
-**
-** Copyright 2006, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true" android:drawable="@drawable/ic_btn_actionmenu_gallery_pressed" />
- <item android:state_window_focused="true" android:state_focused="true" android:drawable="@drawable/ic_btn_actionmenu_gallery_selected" />
- <item android:drawable="@drawable/ic_btn_actionmenu_gallery_default" />
-</selector>
diff --git a/res/layout/attach_camera_control.xml b/res/layout/attach_camera_control.xml
deleted file mode 100644
index f4650b4..0000000
--- a/res/layout/attach_camera_control.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:camera="http://schemas.android.com/apk/res/com.android.camera"
- android:id="@+id/control_bar"
- android:layout_height="fill_parent"
- android:layout_width="76dp"
- android:layout_marginTop="13dp"
- android:layout_marginBottom="10dp"
- android:layout_alignParentRight="true">
- <LinearLayout android:orientation="vertical"
- android:gravity="top|center_horizontal"
- android:layout_alignParentTop="true"
- android:layout_centerHorizontal="true"
- android:layout_height="wrap_content"
- android:layout_width="fill_parent">
- <LinearLayout style="@style/ReviewControlGroup"
- android:layout_marginBottom="15dp">
- <ImageView style="@style/ReviewControlIcon"
- android:id="@+id/btn_cancel"
- android:src="@drawable/btn_ic_review_cancel"/>
- <TextView style="@style/ReviewControlText"
- android:text="@string/review_cancel" />
- </LinearLayout>
- <LinearLayout style="@style/ReviewControlGroup"
- android:visibility="gone"
- android:layout_marginBottom="15dp">
- <ImageView style="@style/ReviewControlIcon"
- android:id="@+id/btn_retake"
- android:src="@drawable/btn_ic_review_retake_photo"/>
- <TextView style="@style/ReviewControlText"
- android:text="@string/review_retake" />
- </LinearLayout>
- <LinearLayout style="@style/ReviewControlGroup"
- android:visibility="gone"
- android:layout_marginBottom="15dp">
- <ImageView style="@style/ReviewControlIcon"
- android:id="@+id/btn_play"
- android:src="@drawable/btn_ic_review_play"/>
- <TextView style="@style/ReviewControlText"
- android:text="@string/review_play" />
- </LinearLayout>
- </LinearLayout>
- <com.android.camera.ShutterButton android:id="@+id/shutter_button"
- android:layout_alignParentBottom="true"
- android:layout_centerHorizontal="true"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:scaleType="center"
- android:clickable="true"
- android:focusable="true"
- android:src="@drawable/btn_ic_camera_shutter"
- android:background="@drawable/btn_shutter"/>
- <LinearLayout style="@style/ReviewControlGroup"
- android:visibility="invisible"
- android:layout_alignParentBottom="true"
- android:layout_centerHorizontal="true">
- <ImageView style="@style/ReviewControlIcon"
- android:id="@+id/btn_done"
- android:src="@drawable/btn_ic_review_done"/>
- <TextView style="@style/ReviewControlText"
- android:text="@string/review_ok" />
- </LinearLayout>
-</RelativeLayout>
diff --git a/res/layout/camera.xml b/res/layout/camera.xml
deleted file mode 100644
index d644d5d..0000000
--- a/res/layout/camera.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:camera="http://schemas.android.com/apk/res/com.android.gallery"
- android:background="@drawable/camera_background"
- android:id="@+id/camera"
- android:orientation="horizontal"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <com.android.camera.PreviewFrameLayout android:id="@+id/frame_layout"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_weight="1">
- <ImageView android:id="@+id/btn_gripper"
- android:background="@drawable/btn_gripper"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"/>
- <FrameLayout android:id="@+id/frame"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:background="@drawable/border_view_finder">
- <SurfaceView android:id="@+id/camera_preview"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"/>
- <com.android.camera.FocusRectangle
- android:id="@+id/focus_rectangle"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"/>
- <com.android.camera.EvenlySpacedLayout android:id="@+id/indicator_bar"
- camera:orientation="vertical"
- android:visibility="visible"
- android:layout_gravity="left|fill_vertical"
- android:layout_marginTop="20dp"
- android:layout_marginLeft="10dp"
- android:layout_width="wrap_content"
- android:layout_height="fill_parent">
- <com.android.camera.IconIndicator
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/gps_icon"
- camera:modes="@array/gps_modes"
- camera:icons="@array/gps_icons"
- android:visibility="visible"/>
- <com.android.camera.IconIndicator
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/focus_icon"
- camera:modes="@array/pref_camera_focusmode_entryvalues"
- camera:icons="@array/focusmode_icons"
- android:visibility="visible"/>
- <com.android.camera.IconIndicator
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/whitebalance_icon"
- camera:modes="@array/pref_camera_whitebalance_entryvalues"
- camera:icons="@array/whitebalance_icons"
- android:visibility="visible"/>
- <com.android.camera.IconIndicator
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/scenemode_icon"
- camera:modes="@array/scenemode_modes"
- camera:icons="@array/scenemode_icons"
- android:visibility="visible"/>
- <com.android.camera.IconIndicator
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/flash_icon"
- camera:modes="@array/flash_modes"
- camera:icons="@array/flash_icons"
- android:visibility="visible"/>
- </com.android.camera.EvenlySpacedLayout>
- </FrameLayout>
- </com.android.camera.PreviewFrameLayout>
-</LinearLayout>
diff --git a/res/layout/camera_control.xml b/res/layout/camera_control.xml
deleted file mode 100644
index 8f7f6c8..0000000
--- a/res/layout/camera_control.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/control_bar"
- android:orientation="vertical"
- android:layout_height="fill_parent"
- android:layout_width="76dp"
- android:layout_marginTop="13dp"
- android:layout_marginBottom="10dp"
- android:layout_alignParentRight="true">
-
- <ImageView android:id="@+id/review_thumbnail"
- android:layout_alignParentTop="true"
- android:layout_centerHorizontal="true"
- android:layout_height="52dp"
- android:layout_width="52dp"
- android:clickable="true"
- android:focusable="false"
- android:background="@drawable/border_last_picture"/>
-
- <LinearLayout android:id="@+id/camera_switch_set"
- android:orientation="vertical"
- android:layout_centerInParent="true"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content">
- <ImageView android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:src="@drawable/btn_ic_mode_switch_video"/>
- <com.android.camera.Switcher android:id="@+id/camera_switch"
- android:layout_width="wrap_content"
- android:layout_height="70dp"
- android:src="@drawable/btn_mode_switch_knob"
- android:background="@drawable/btn_mode_switch_bg" />
- <ImageView android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:layout_marginBottom="3dp"
- android:src="@drawable/btn_ic_mode_switch_camera"/>
- </LinearLayout>
-
- <com.android.camera.ShutterButton android:id="@+id/shutter_button"
- android:layout_alignParentBottom="true"
- android:layout_centerHorizontal="true"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:scaleType="center"
- android:clickable="true"
- android:focusable="true"
- android:src="@drawable/btn_ic_camera_shutter"
- android:background="@drawable/btn_shutter"/>
-</RelativeLayout>
-
diff --git a/res/layout/details.xml b/res/layout/details.xml
deleted file mode 100644
index e3c1075..0000000
--- a/res/layout/details.xml
+++ /dev/null
@@ -1,159 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2007 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:padding="10dip"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
-
- <LinearLayout
- android:orientation="horizontal"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/details_title_label"
- android:textSize="10sp"
- />
-
- </LinearLayout>
-
- <EditText
- android:id="@+id/title"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/details_title_text"
- android:autoText="true"
- android:capitalize="words"
- android:textSize="10sp"
- android:textColor="#FF661700"
- />
-
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/details_description_label"
- android:textSize="10sp"
- />
-
- <EditText
- android:id="@+id/description"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/details_description_text"
- android:autoText="true"
- android:capitalize="sentences"
- android:textSize="10sp"
- android:textColor="#FF661700"
- />
-
- <TextView android:id="@+id/tags_label"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/details_tags_label"
- android:textSize="10sp"
- android:visibility="gone"
- />
-
- <EditText
- android:id="@+id/tags"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/details_tags_text"
- android:textSize="10sp"
- android:textColor="#FF661700"
- android:autoText="false"
- android:capitalize="none"
- android:visibility="gone"
- />
-
- <LinearLayout android:id="@+id/categories"
- android:orientation="horizontal"
- android:visibility="gone"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/details_category_label"
- android:textSize="10sp"
- />
-
- <Spinner android:id="@+id/category"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:drawSelectorOnTop="false"
- android:textSize="10sp"
- />
- </LinearLayout>
-
- <LinearLayout android:id="@+id/languages"
- android:orientation="horizontal"
- android:visibility="gone"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/details_language_label"
- android:textSize="10sp"
- />
-
- <Spinner android:id="@+id/language"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:drawSelectorOnTop="false"
- android:textSize="10sp"
- />
- </LinearLayout>
-
- <LinearLayout
- android:orientation="horizontal"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
-
- <RadioGroup android:id="@+id/publicprivate"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="horizontal">
- <RadioButton android:id="@+id/publicView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:checked="false"
- android:text="@string/details_publicView_text"
- />
-
- <RadioButton android:id="@+id/privateView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:checked="false"
- android:text="@string/details_privateView_text"
- />
- </RadioGroup>
-
- <Button android:id="@+id/save"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/details_save_text"
- android:layout_alignParentRight="true"
- />
- </LinearLayout>
-</LinearLayout>
diff --git a/res/layout/on_screen_hint.xml b/res/layout/on_screen_hint.xml
deleted file mode 100644
index a56b728..0000000
--- a/res/layout/on_screen_hint.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2009, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical"
- android:background="@drawable/on_screen_hint_frame">
-
- <TextView
- android:id="@+id/message"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:textAppearance="@style/OnScreenHintTextAppearance.Small"
- android:textColor="#ffffffff"
- android:shadowColor="#BB000000"
- android:shadowRadius="2.75"
- />
-</LinearLayout>
-
-
diff --git a/res/layout/on_screen_menu.xml b/res/layout/on_screen_menu.xml
deleted file mode 100644
index 3ae6b7a..0000000
--- a/res/layout/on_screen_menu.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2007 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/main_panel"
- android:background="@drawable/camera_background"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
- <FrameLayout android:layout_width="fill_parent"
- android:background="@android:color/black"
- android:layout_height="fill_parent"
- android:layout_toLeftOf="@+id/btn_gripper">
- <ListView android:id="@+id/menu_view"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent" />
- <ListView android:id="@+id/sub_menu"
- android:visibility="invisible"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent" />
- </FrameLayout>
- <ImageView android:id="@+id/btn_gripper"
- android:layout_height="fill_parent"
- android:layout_width="wrap_content"
- android:background="@drawable/gripper_handle"
- android:layout_alignParentRight="true"/>
-</RelativeLayout>
diff --git a/res/layout/on_screen_menu_header.xml b/res/layout/on_screen_menu_header.xml
deleted file mode 100644
index f16f30e..0000000
--- a/res/layout/on_screen_menu_header.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/title"
- android:background="#222"
- android:paddingLeft="5dp"
- android:paddingRight="5dp"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:singleLine="true" />
diff --git a/res/layout/on_screen_menu_list_item.xml b/res/layout/on_screen_menu_list_item.xml
deleted file mode 100644
index 42816bf..0000000
--- a/res/layout/on_screen_menu_list_item.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:gravity="center_vertical"
- android:minHeight="?android:attr/listPreferredItemHeight"
- android:paddingLeft="10dp"
- android:paddingRight="5dp" >
- <TextView android:id="@+id/title"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:maxLines="2"
- android:ellipsize="end"
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:fadingEdge="horizontal" />
-
- <TextView android:id="@+id/summary"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/title"
- android:layout_alignLeft="@id/title"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:singleLine="true" />
-</RelativeLayout>
diff --git a/res/layout/on_screen_submenu_item.xml b/res/layout/on_screen_submenu_item.xml
deleted file mode 100644
index 8e0470e..0000000
--- a/res/layout/on_screen_submenu_item.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:paddingLeft="10dp"
- android:paddingRight="5dp"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:minHeight="?android:attr/listPreferredItemHeight"
- android:gravity="center_vertical" >
- <ImageView android:id="@+id/icon"
- android:visibility="gone"
- android:layout_marginRight="5dp"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0" />
- <TextView android:id="@+id/title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:maxLines="2"
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:ellipsize="end"
- android:fadingEdge="horizontal" />
- <RadioButton android:id="@+id/radio_button"
- android:focusable="false"
- android:clickable="false"
- android:layout_weight="0"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
-</LinearLayout>
-
-
-
diff --git a/res/layout/review_control.xml b/res/layout/review_control.xml
deleted file mode 100644
index c964340..0000000
--- a/res/layout/review_control.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:camera="http://schemas.android.com/apk/res/com.android.gallery"
- android:id="@+id/button_bar"
- android:gravity="center_horizontal"
- android:layout_height="fill_parent"
- android:layout_width="76dp"
- android:layout_marginTop="13dp"
- android:layout_marginBottom="10dp"
- android:layout_alignParentRight="true">
- <com.android.camera.EvenlySpacedLayout
- camera:orientation="vertical"
- camera:keepEndSpace="false"
- android:layout_height="fill_parent"
- android:layout_width="fill_parent">
- <LinearLayout style="@style/ReviewControlGroup">
- <ImageView style="@style/ReviewControlIcon"
- android:id="@+id/btn_delete"
- android:src="@drawable/btn_ic_review_delete"/>
- <TextView style="@style/ReviewControlText"
- android:text="@string/review_toss" />
- </LinearLayout>
- <LinearLayout style="@style/ReviewControlGroup">
- <ImageView style="@style/ReviewControlIcon"
- android:id="@+id/btn_share"
- android:src="@drawable/btn_ic_review_share"/>
- <TextView style="@style/ReviewControlText"
- android:text="@string/review_share" />
- </LinearLayout>
- <LinearLayout style="@style/ReviewControlGroup">
- <ImageView style="@style/ReviewControlIcon"
- android:id="@+id/btn_play"
- android:src="@drawable/btn_ic_review_play"/>
- <TextView style="@style/ReviewControlText"
- android:text="@string/review_play" />
- </LinearLayout>
- <LinearLayout style="@style/ReviewControlGroup">
- <ImageView style="@style/ReviewControlIcon"
- android:id="@+id/btn_set_as"
- android:src="@drawable/btn_ic_review_set_as"/>
- <TextView style="@style/ReviewControlText"
- android:text="@string/review_set" />
- </LinearLayout>
- <LinearLayout style="@style/ReviewControlGroup">
- <ImageView style="@style/ReviewControlIcon"
- android:id="@+id/btn_done"
- android:src="@drawable/btn_ic_review_done"/>
- <TextView style="@style/ReviewControlText"
- android:text="@string/review_done" />
- </LinearLayout>
- </com.android.camera.EvenlySpacedLayout>
-</RelativeLayout>
-
diff --git a/res/layout/review_image.xml b/res/layout/review_image.xml
deleted file mode 100644
index b5639e6..0000000
--- a/res/layout/review_image.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2007 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:background="@drawable/camera_background"
- android:id="@+id/root"
- android:orientation="horizontal"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <com.android.camera.PreviewFrameLayout android:id="@+id/frame_layout"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_weight="1">
- <FrameLayout android:id="@+id/frame"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:background="@drawable/border_view_finder">
- <RelativeLayout android:id="@+id/mainPanel"
- android:layout_toLeftOf="@id/button_bar"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <AbsoluteLayout android:id="@+id/slideShowContainer"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <com.android.camera.ImageViewTouch2 android:id="@+id/image1_slideShow"
- android:background="#00000000"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent" />
- <com.android.camera.ImageViewTouch2 android:id="@+id/image2_slideShow"
- android:background="#00000000"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent" />
- </AbsoluteLayout>
- <AbsoluteLayout android:id="@+id/abs"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <com.android.camera.ImageViewTouch2 android:id="@+id/image"
- android:background="#FF000000"
- android:focusableInTouchMode="true"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent" />
- </AbsoluteLayout>
- <ImageView android:id="@+id/prev_image"
- android:clickable="true"
- android:focusable="false"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_centerVertical="true"
- android:visibility="invisible"
- android:src="@drawable/btn_camera_arrow_left" />
- <ImageView android:id="@+id/next_image"
- android:clickable="true"
- android:focusable="false"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentRight="true"
- android:layout_centerVertical="true"
- android:visibility="invisible"
- android:src="@drawable/btn_camera_arrow_right" />
- </RelativeLayout>
- </FrameLayout>
- </com.android.camera.PreviewFrameLayout>
- <include android:id="@+id/control_bar"
- layout="@layout/review_control" />
-</LinearLayout>
-
-
diff --git a/res/layout/video_camera.xml b/res/layout/video_camera.xml
deleted file mode 100644
index b165d90..0000000
--- a/res/layout/video_camera.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2007 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/video_camera"
- android:background="@drawable/camera_background"
- android:orientation="horizontal"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <com.android.camera.PreviewFrameLayout android:id="@+id/frame_layout"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_weight="1">
- <ImageView android:id="@+id/btn_gripper"
- android:background="@drawable/btn_gripper"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"/>
- <FrameLayout android:id="@+id/frame"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:background="@drawable/border_view_finder">
- <SurfaceView android:id="@+id/camera_preview"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"/>
- <ImageView
- android:id="@+id/video_frame"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:visibility="gone" />
- <!-- Note: In this TextView the paddingRight="2"
- attribute is required because otherwise the
- text's drop shadow will be clipped. -->
- <TextView android:id="@+id/recording_time"
- android:layout_width="180dp"
- android:layout_height="wrap_content"
- android:layout_gravity="left|bottom"
- android:layout_marginBottom="13dp"
- android:layout_marginLeft="17dp"
- android:paddingRight="2dp"
- android:drawablePadding="8dp"
- android:drawableLeft="@drawable/ic_recording_indicator"
- android:shadowColor="#c0000000"
- android:shadowDx="1"
- android:shadowDy="1"
- android:shadowRadius="1"
- android:gravity="left|center_vertical"
- android:textColor="@color/recording_time_elapsed_text"
- android:textSize="23dp"
- android:textStyle="bold"
- android:visibility="gone"/>
- </FrameLayout>
- </com.android.camera.PreviewFrameLayout>
-</LinearLayout>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 8279537..690bdcd 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Chyba fotoaparátu"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"Nelze se připojit k fotoaparátu."</string>
<string name="all_images" msgid="1195501551939178807">"Všechny fotky"</string>
<string name="all_videos" msgid="3380966619230896013">"Všechna videa"</string>
<string name="camera_label" msgid="6346560772074764302">"Fotoaparát"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Videokamera"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Galerie"</string>
<string name="gallery_label" msgid="7119609703856708011">"Galerie"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Pořízené fotografie"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Nastavování tapety, čekejte prosím..."</string>
<string name="savingImage" msgid="3051745378545909260">"Ukládání fotografie..."</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Čekejte prosím..."</string>
- <string name="settings" msgid="1534847740615665736">"Nastavení"</string>
<string name="view" msgid="6277795271119411881">"Zobrazit"</string>
<string name="details" msgid="8415120088556445230">"Podrobnosti"</string>
<string name="show_on_map" msgid="441725587731006228">"Zobrazit v Mapách"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"Fotografie bude smazána."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"Video bude smazáno."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Tyto mediální soubory budou smazány."</string>
- <string name="review_toss" msgid="7255331999518617841">"SMAZAT"</string>
- <string name="review_share" msgid="7294755861072174509">"SDÍLET"</string>
- <string name="review_set" msgid="8304758352155378636">"POUŽÍT JAKO"</string>
- <string name="review_play" msgid="6015456244323302817">"PŘEHRÁT"</string>
- <string name="review_cancel" msgid="8188009385853399254">"ZRUŠIT"</string>
- <string name="review_done" msgid="5417465988786728114">"Hotovo"</string>
- <string name="review_ok" msgid="5305096180300056529">"OK"</string>
- <string name="review_retake" msgid="7804864054896088338">"Pořídit další"</string>
<string name="camera_toss" msgid="3781186798552460833">"Smazat"</string>
<string name="camera_share" msgid="8207701858325694182">"Sdílet"</string>
<string name="camera_set" msgid="3422192914806971182">"Použít jako"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"Není k dispozici aplikace potřebná ke sdílení videa."</string>
<string name="no_way_to_share" msgid="863323712875014752">"Není k dispozici aplikace potřebná ke sdílení souborů médií."</string>
<string name="video_play" msgid="5287787282508002895">"Přehrát"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Galerie"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Fotografie"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Tapeta"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Obecné nastavení"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Přehrát prezentaci více než jednou"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Náhodné pořadí snímků"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Zobrazit fotografie v náhodném pořadí"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Úložiště"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Vypnuto"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"Zapnout"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Kvalita videa"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Nízká (pro zprávy MMS)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Vysoká (pro kartu SD)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Kvalita videa"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Délka videa"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> s (pro MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 min"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 min"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Délka videa"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Nastavení fotoaparátu"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Nastavení videokamery"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Velikost fotografií"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5 megapixelů"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3 megapixely"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2 megapixely"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1 megapixel"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Velikost fotografií"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Kvalita fotografií"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Velmi jemná"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Jemná"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Běžná"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Kvalita fotografií"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Režim zaostření"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Automaticky"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Nekonečno"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Makro"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Režim zaostření"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Režim blesku"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Automaticky"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"Zapnout"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Vypnuto"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Režim blesku"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Vyvážení bílé"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Vyvážení bílé"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Automaticky"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Zářící"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Denní světlo"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Světélkující"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Zataženo"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Šero"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Stín"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Hřejivě světélkující"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Halogenová žárovka"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Barevný efekt"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Barevný efekt"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Žádný"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Černobíle"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Sépiové barvy"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Negativ"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Solarizace"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Posterizace"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Bílá tabule"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Černá tabule"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Voda"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Pastelové barvy"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Mozaika"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Červený nádech"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Modrý nádech"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Zelený nádech"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Scénický režim"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Scénický režim"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Automaticky"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Akce"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Portrét"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Na šířku"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Noc"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Portrét v noci"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Divadlo"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Pláž"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Sníh"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Západ slunce"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Stabilní fotografie"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Ohňostroj"</string>
<string name="camerasettings" msgid="2433519618178453928">"Nastavení"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"Žádná média nebyla nalezena."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Potvrdit smazání"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Sdílení souborů médií pomocí"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Filmy"</string>
<string name="loading_video" msgid="4013492720121891585">"Načítání videa..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"Na vaší kartě SD je málo místa. Změňte nastavení kvality nebo smažte položky z Galerie."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Pokračovat v přehrávání videa"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"Pokračovat v přehrávání od <xliff:g id="DURATION">%s</xliff:g>?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Pokračovat v přehrávání"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Smazat"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Zrušit"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Probíhá mazání obrázků, počkejte prosím..."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Bylo dosaženo limitu velikosti."</string>
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 044f54b..3da865c 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Kamerafejl"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"Der kan ikke oprettes forbindelse til kameraet."</string>
<string name="all_images" msgid="1195501551939178807">"Alle billeder"</string>
<string name="all_videos" msgid="3380966619230896013">"Alle videoer"</string>
<string name="camera_label" msgid="6346560772074764302">"Kamera"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Videokamera"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Galleri"</string>
<string name="gallery_label" msgid="7119609703856708011">"Galleri"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Kamerabilleder"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Indstiller tapet. Vent et øjeblik ..."</string>
<string name="savingImage" msgid="3051745378545909260">"Gemmer billede ..."</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Vent ..."</string>
- <string name="settings" msgid="1534847740615665736">"Indstillinger"</string>
<string name="view" msgid="6277795271119411881">"Vis"</string>
<string name="details" msgid="8415120088556445230">"Detaljer"</string>
<string name="show_on_map" msgid="441725587731006228">"Vis i Maps"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"Billedet slettes."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"Videoen slettes."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Disse mediefiler slettes."</string>
- <string name="review_toss" msgid="7255331999518617841">"SLET"</string>
- <string name="review_share" msgid="7294755861072174509">"DEL"</string>
- <string name="review_set" msgid="8304758352155378636">"INDSTIL SOM"</string>
- <string name="review_play" msgid="6015456244323302817">"AFSPIL"</string>
- <string name="review_cancel" msgid="8188009385853399254">"ANNULLER"</string>
- <string name="review_done" msgid="5417465988786728114">"FÆRDIG"</string>
- <string name="review_ok" msgid="5305096180300056529">"OK"</string>
- <string name="review_retake" msgid="7804864054896088338">"TAG IGEN"</string>
<string name="camera_toss" msgid="3781186798552460833">"Slet"</string>
<string name="camera_share" msgid="8207701858325694182">"Del"</string>
<string name="camera_set" msgid="3422192914806971182">"Indstil som"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"Der er intet program tilgængeligt til deling af videoen."</string>
<string name="no_way_to_share" msgid="863323712875014752">"Der er intet program tilgængeligt til deling af mediefilen/-filerne."</string>
<string name="video_play" msgid="5287787282508002895">"Afspil"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Galleri"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Billeder"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Tapet"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Generelle indstillinger"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Afspil diasshow mere end en gang"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Bland dias"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Vis billeder i tilfældig rækkefølge"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Lagringsplacering"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Fra"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"Til"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Videokvalitet"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Lav (til MMS-beskeder)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Høj (til SD-kort)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Videokvalitet"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Varighed på video"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> sekunder (til MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 minutter"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 minutter"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Varighed på video"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Kameraindstillinger"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Videokameraindstillinger"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Billedstørrelse"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5 M pixels"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3 M pixels"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2 M pixels"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1 M pixels"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Billedstørrelse"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Billedkvalitet"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Superfin"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Fin"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Normal"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Billedkvalitet"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Fokustilstand"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Automatisk"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Uendelighed"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Makro"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Fokustilstand"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Blitztilstand"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Automatisk"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"Til"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Fra"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Blitztilstand"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Hvidbalance"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Hvidbalance"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Automatisk"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Hvidglødende"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Dagslys"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Flourescerende"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Overskuet"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Tusmørke"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Skygge"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Varmt flourescerende"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Halogen"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Farveeffekt"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Farveeffekt"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Ingen"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Mono"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Sepia"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Negative"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Solarize"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Posterize"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Whiteboard"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Blackboard"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Vand"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Pastel"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Mosaik"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Rød farvetone"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Blå farvetone"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Grøn farvetone"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Scenetilstand"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Scenetilstand"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Automatisk"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Handling"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Portræt"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Landskab"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Nat"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Natportræt"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Teater"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Strand"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Sne"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Solnedgang"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Roligt foto"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Fyrværkeri"</string>
<string name="camerasettings" msgid="2433519618178453928">"Indstillinger"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"Der blev ikke fundet nogen medier."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Bekræft sletninger"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Del mediefiler via"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Film"</string>
<string name="loading_video" msgid="4013492720121891585">"Indlæser video ..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"Dit SD-kort er ved at løbe tør for plads. Skift kvalitetsindstillingerne, eller slet elementer fra Galleriet."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Genoptag video"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"Genoptag afspilning fra <xliff:g id="DURATION">%s</xliff:g>?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Genoptag afspilning"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Slet"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Annuller"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Sletter billeder. Vent lidt ..."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Størrelsesgrænse er nået."</string>
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index d8433a6..31e787d 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Kamerafehler"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"Keine Verbindung zur Kamera möglich"</string>
<string name="all_images" msgid="1195501551939178807">"Alle Bilder"</string>
<string name="all_videos" msgid="3380966619230896013">"Alle Videos"</string>
<string name="camera_label" msgid="6346560772074764302">"Kamera"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Camcorder"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Galerie"</string>
<string name="gallery_label" msgid="7119609703856708011">"Galerie"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Kamerabilder"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Hintergrund wird eingestellt, bitte warten..."</string>
<string name="savingImage" msgid="3051745378545909260">"Bild wird gespeichert..."</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Bitte warten..."</string>
- <string name="settings" msgid="1534847740615665736">"Einstellungen"</string>
<string name="view" msgid="6277795271119411881">"Anzeigen"</string>
<string name="details" msgid="8415120088556445230">"Details"</string>
<string name="show_on_map" msgid="441725587731006228">"In Google Maps anzeigen"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"Das Bild wird gelöscht."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"Das Video wird gelöscht."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Diese Mediendateien werden gelöscht."</string>
- <string name="review_toss" msgid="7255331999518617841">"LÖSCHEN"</string>
- <string name="review_share" msgid="7294755861072174509">"SENDEN"</string>
- <string name="review_set" msgid="8304758352155378636">"FESTLEGEN ALS"</string>
- <string name="review_play" msgid="6015456244323302817">"WIEDERGEBEN"</string>
- <string name="review_cancel" msgid="8188009385853399254">"ABBRECHEN"</string>
- <string name="review_done" msgid="5417465988786728114">"FERTIG"</string>
- <string name="review_ok" msgid="5305096180300056529">"OK"</string>
- <string name="review_retake" msgid="7804864054896088338">"ERNEUT AUFNEHMEN"</string>
<string name="camera_toss" msgid="3781186798552460833">"Löschen"</string>
<string name="camera_share" msgid="8207701858325694182">"Senden"</string>
<string name="camera_set" msgid="3422192914806971182">"Festlegen als"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"Keine Anwendung zur Freigabe des Videos verfügbar"</string>
<string name="no_way_to_share" msgid="863323712875014752">"Keine Anwendung zur Freigabe der Mediendatei(en) verfügbar"</string>
<string name="video_play" msgid="5287787282508002895">"Wiedergeben"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Galerie"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Bilder"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Hintergrund"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Allgemeine Einstellungen"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Diashow mehrmals anzeigen"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Bilder mischen"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Bilder in zufälliger Reihenfolge anzeigen"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Speicherort"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Aus"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"An"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Videoqualität"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Niedrig (für MMS-Mitteilungen)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Hoch (für SD-Karte)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Videoqualität"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Videodauer"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> Sekunden (für MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 Minuten"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 Minuten"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Videodauer"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Kameraeinstellungen"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Camcordereinstellungen"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Bildgröße"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5 Millionen Pixel"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3 Millionen Pixel"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2 Millionen Pixel"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1 Million Pixel"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Bildgröße"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Bildqualität"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Extrafein"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Fein"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Normal"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Bildqualität"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Fokussierungsmodus"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Autom."</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Unendlich"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Makro"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Fokussierungsmodus"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Blitzmodus"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Autom."</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"An"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Aus"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Blitzmodus"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Weißabgleich"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Weißabgleich"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Autom."</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Glühlampenlicht"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Tageslicht"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Neonlicht (kaltes Weiß)"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Bewölkt"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Dämmerung"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Schatten"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Neonlicht (warmes Weiß)"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Halogen"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Farbeffekt"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Farbeffekt"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Keine"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Mono"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Sepia"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Negativ"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Solarisieren"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Tontrennung"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Whiteboard"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Tafel"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Aqua"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Pastell"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Mosaik"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Rottöne"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Blautöne"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Grüntöne"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Szenenmodus"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Szenenmodus"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Autom."</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Aktion"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Portrait"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Landschaft"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Nachtaufnahme"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Nachtportrait"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Theater"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Strand"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Schnee"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Sonnenuntergang"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Stabilisierung"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Feuerwerk"</string>
<string name="camerasettings" msgid="2433519618178453928">"Einstellungen"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"Keine Medien gefunden."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Löschvorgang bestätigen"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Mediendateien freigeben über"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Filme"</string>
<string name="loading_video" msgid="4013492720121891585">"Video wird geladen..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"Auf Ihrer SD-Karte ist nicht mehr genügend Speicherplatz vorhanden. Ändern Sie die Qualitätseinstellung oder löschen Sie Elemente aus der Galerie."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Mit Video fortfahren"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"Mit Wiedergabe fortfahren ab <xliff:g id="DURATION">%s</xliff:g>?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Mit Wiedergabe fortfahren"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Löschen"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Abbrechen"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Bilder werden gelöscht. Bitte warten..."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Maximale Größe erreicht"</string>
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index f0c7097..2605ede 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Σφάλμα φωτογραφικής μηχανής"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"Δεν είναι δυνατή η σύνδεση με τη φωτογραφική μηχανή."</string>
<string name="all_images" msgid="1195501551939178807">"Όλες οι εικόνες"</string>
<string name="all_videos" msgid="3380966619230896013">"Όλα τα βίντεο"</string>
<string name="camera_label" msgid="6346560772074764302">"Φωτογ.μηχανή"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Βιντεοκάμ."</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Συλλογή"</string>
<string name="gallery_label" msgid="7119609703856708011">"Συλλογή"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Εικόνες φωτογραφικής μηχανής"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Ρύθμιση ταπετσαρίας, περιμένετε..."</string>
<string name="savingImage" msgid="3051745378545909260">"Αποθήκευση εικόνας..."</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Περιμένετε..."</string>
- <string name="settings" msgid="1534847740615665736">"Ρυθμίσεις"</string>
<string name="view" msgid="6277795271119411881">"Προβολή"</string>
<string name="details" msgid="8415120088556445230">"Λεπτομέρειες"</string>
<string name="show_on_map" msgid="441725587731006228">"Προβολή στους Χάρτες"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"Η εικόνα θα διαγραφεί."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"Το βίντεο θα διαγραφεί."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Αυτά τα αρχεία μέσων θα διαγραφούν."</string>
- <string name="review_toss" msgid="7255331999518617841">"ΔΙΑΓΡΑΦΗ"</string>
- <string name="review_share" msgid="7294755861072174509">"ΚΟΙΝΗ ΧΡΗΣΗ"</string>
- <string name="review_set" msgid="8304758352155378636">"ΟΡΙΣΜΟΣ ΩΣ"</string>
- <string name="review_play" msgid="6015456244323302817">"ΑΝΑΠΑΡΑΓΩΓΗ"</string>
- <string name="review_cancel" msgid="8188009385853399254">"ΑΚΥΡΩΣΗ"</string>
- <string name="review_done" msgid="5417465988786728114">"ΟΛΟΚΛΗΡΩΘΗΚΕ"</string>
- <string name="review_ok" msgid="5305096180300056529">"ΟΚ"</string>
- <string name="review_retake" msgid="7804864054896088338">"ΝΕΑ ΛΗΨΗ"</string>
<string name="camera_toss" msgid="3781186798552460833">"Διαγραφή"</string>
<string name="camera_share" msgid="8207701858325694182">"Κοινή χρήση"</string>
<string name="camera_set" msgid="3422192914806971182">"Ορισμός ως"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"Δεν υπάρχει διαθέσιμη εφαρμογή για την κοινή χρήση του βίντεο."</string>
<string name="no_way_to_share" msgid="863323712875014752">"Δεν υπάρχει διαθέσιμη εφαρμογή για την κοινή χρήση των αρχείων μέσων."</string>
<string name="video_play" msgid="5287787282508002895">"Αναπαραγωγή"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Συλλογή"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Εικόνες"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Ταπετσαρία"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Γενικές ρυθμίσεις"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Αναπαρ.προβ.διαφαν.περισσότ.από μία φορά"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Τυχαία αναπαραγωγή διαφανειών"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Εμφάνιση εικόνων με τυχαία σειρά"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Αποθήκευση τοποθεσίας"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"ΑΠΕΝΕΡΓΟΠΟΙΗΜΕΝΟ"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"Ενεργοποιημένο"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Ποιότητα βίντεο"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Χαμηλή (για μηνύματα MMS)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Υψηλή (για κάρτα SD)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Ποιότητα βίντεο"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Διάρκεια βίντεο"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> δευτερόλεπτα (για MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 λεπτά"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 λεπτά"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Διάρκεια βίντεο"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Ρυθμίσεις φωτογραφικής μηχανής"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Ρυθμίσεις βιντεοκάμερας"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Μέγεθος εικόνας"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5M εικονοστοιχεία"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3M εικονοστοιχεία"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2M εικονοστοιχεία"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1M εικονοστοιχεία"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Μέγεθος εικόνας"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Ποιότητα εικόνας"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Πολύ υψηλή"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Λεπτή"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Κανονική"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Ποιότητα εικόνας"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Λειτουργία εστίασης"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Αυτόματο"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Άπειρο"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Απόσταση"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Λειτουργία εστίασης"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Λειτουργία Flash"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Αυτόματο"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"Ενεργοποιημένο"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"ΑΠΕΝΕΡΓΟΠΟΙΗΜΕΝΟ"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Λειτουργία Flash"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Ισορροπία λευκού"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Ισορροπία λευκού"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Αυτόματο"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Λαμπτήρας πυρακτώσεως"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Φως ημέρας"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Λαμπτήρας φθορισμού"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Συννεφιά"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Λυκόφως"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Σκιά"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Θερμός λαμπτήρας φθορισμού"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Λαμπτήρας αλογόνου"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Εφέ χρώματος"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Εφέ χρώματος"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Κανένα"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Μονοφωνικό"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Σέπια"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Αρνητικό"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Υπερφώτιση"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Ποστεροποίηση"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Λευκός πίνακας"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Μαυροπίνακας"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Γαλάζιο"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Παστέλ"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Μωσαϊκό"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Κόκκινη απόχρωση"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Μπλε απόχρωση"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Πράσινη απόχρωση"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Λειτουργία σκηνής"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Λειτουργία σκηνής"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Αυτόματο"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Ενέργεια"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Πορτραίτο"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Τοπίο"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Νύχτα"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Νυχτερινό πορτραίτο"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Θέατρο"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Παραλία"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Χιόνι"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Ηλιοβασίλεμα"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Σταθερή φωτογραφία"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Πυροτεχνήματα"</string>
<string name="camerasettings" msgid="2433519618178453928">"Ρυθμίσεις"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"Δεν βρέθηκαν μέσα."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Επιβεβαίωση διαγραφών"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Κοινή χρήση αρχείων μέσων μέσω"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Ταινίες"</string>
<string name="loading_video" msgid="4013492720121891585">"Φόρτωση βίντεο..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"Ο διαθέσιμος χώρος στην κάρτα SD είναι ελάχιστος. Αλλάξτε τη ρύθμιση ποιότητας ή διαγράψτε στοιχεία από τη συλλογή."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Συνέχιση βίντεο"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"Συνέχιση αναπαραγωγής από το <xliff:g id="DURATION">%s</xliff:g> ;"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Συνέχιση αναπαραγωγής"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Διαγραφή"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Ακύρωση"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Πραγματοποιείται διαγραφή εικόνων, περιμένετε…"</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Συμπληρώθηκε το όριο μεγέθους."</string>
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index fa337c2..ff98ca0 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Error de cámara"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"No se puede conectar a la cámara."</string>
<string name="all_images" msgid="1195501551939178807">"Todas las imágenes"</string>
<string name="all_videos" msgid="3380966619230896013">"Todos los videos"</string>
<string name="camera_label" msgid="6346560772074764302">"Cámara"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Cámara de video"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Galería"</string>
<string name="gallery_label" msgid="7119609703856708011">"Galería"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Imágenes de la cámara"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Configurando papel tapiz. Espera, por favor..."</string>
<string name="savingImage" msgid="3051745378545909260">"Guardando imagen..."</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Espera, por favor..."</string>
- <string name="settings" msgid="1534847740615665736">"Configuración"</string>
<string name="view" msgid="6277795271119411881">"Ver"</string>
<string name="details" msgid="8415120088556445230">"Detalles"</string>
<string name="show_on_map" msgid="441725587731006228">"Mostrar en Google Maps"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"La imagen se eliminará."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"El video se eliminará."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Estos archivos de medios serán suprimidos."</string>
- <string name="review_toss" msgid="7255331999518617841">"ELIMINAR"</string>
- <string name="review_share" msgid="7294755861072174509">"COMPARTIR"</string>
- <string name="review_set" msgid="8304758352155378636">"DEFINIR COMO"</string>
- <string name="review_play" msgid="6015456244323302817">"REPRODUCIR"</string>
- <string name="review_cancel" msgid="8188009385853399254">"CANCELAR"</string>
- <string name="review_done" msgid="5417465988786728114">"HECHO"</string>
- <string name="review_ok" msgid="5305096180300056529">"Aceptar"</string>
- <string name="review_retake" msgid="7804864054896088338">"VOLVER A TOMAR"</string>
<string name="camera_toss" msgid="3781186798552460833">"Eliminar"</string>
<string name="camera_share" msgid="8207701858325694182">"Compartir"</string>
<string name="camera_set" msgid="3422192914806971182">"Definir como"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"No hay aplicación disponible para compartir el video."</string>
<string name="no_way_to_share" msgid="863323712875014752">"No hay aplicación disponible para compartir el/los archivo/s de medios."</string>
<string name="video_play" msgid="5287787282508002895">"Reproducir"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Galería"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Imágenes"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Papel tapiz"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Configuración general"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Reproducir la presentación de diapositivas más de una vez"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Arrastrar diapositivas"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Mostrar imágenes en orden aleatorio"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Ubicación de tienda"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Apagado"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"Encendido"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Calidad del video"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Bajo (para mensajes MMS)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Alta (para tarjeta SD)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Calidad del video"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Duración del video"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> segundos (por MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 minutos"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 minutos"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Duración del video"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Configuración de cámara"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Configuración de videocámara"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Tamaño de imagen"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5M píxeles"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3M píxeles"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2M píxeles"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1M píxeles"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Tamaño de imagen"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Calidad de la imagen"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Súper fino"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Fino"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Normal"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Calidad de la imagen"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Modo de enfoque"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Automáticamente"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Infinito"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Macro"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Modo de enfoque"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Modo de flash"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Automáticamente"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"Encendido"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Apagado"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Modo de flash"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Equilibrio de blancos"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Equilibrio de blancos"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Automático"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Incandescente"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Luz del día"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Fluorescente"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Nublado"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Penumbra"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Tono"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Fluorescente cálido"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Halógeno"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Efecto de color"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Efecto de color"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Ninguno"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Mono"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Sepia"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Negativo"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Solarizar"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Posterizar"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Pizarra blanca"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Pizarra negra"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Aguamarina"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Pastel"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Mosaico"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Tinte rojo"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Tinte azul"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Tinte verde"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Modo de preselección de escenas"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Modo de preselección de escenas"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Automáticamente"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Acción"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Retrato"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Horizontal"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Noche"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Retrato nocturno"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Cine"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Playa"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Nieve"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Crepúsculo"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Foto fija"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Fuegos artificiales"</string>
<string name="camerasettings" msgid="2433519618178453928">"Configuración"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"No se han encontrado medios."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Confirmar eliminaciones"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Compartir archivos de medios"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Películas"</string>
<string name="loading_video" msgid="4013492720121891585">"Cargando el video..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"Tu tarjeta SD se está quedando sin espacio. Cambia la configuración de calidad o elimina elementos de la galería."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Retomar video"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"¿Deseas retomar la reproducción desde <xliff:g id="DURATION">%s</xliff:g> ?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Retomar la reproducción"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Suprimir"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Cancelar"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Suprimiendo imágenes. Espera, por favor..."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Se alcanzó el límite del tamaño."</string>
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 7317c9c..2a3c817 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Error de la cámara"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"No se puede establecer conexión con la cámara."</string>
<string name="all_images" msgid="1195501551939178807">"Todas las imágenes"</string>
<string name="all_videos" msgid="3380966619230896013">"Todos los vídeos"</string>
<string name="camera_label" msgid="6346560772074764302">"Cámara"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Videocámara"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Galería"</string>
<string name="gallery_label" msgid="7119609703856708011">"Galería"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Imágenes de cámara"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Estableciendo fondo de pantalla..."</string>
<string name="savingImage" msgid="3051745378545909260">"Guardando imagen..."</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Por favor, espera..."</string>
- <string name="settings" msgid="1534847740615665736">"Ajustes"</string>
<string name="view" msgid="6277795271119411881">"Ver"</string>
<string name="details" msgid="8415120088556445230">"Detalles"</string>
<string name="show_on_map" msgid="441725587731006228">"Mostrar en mapas"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"Se eliminará la imagen."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"Se eliminará el vídeo."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Estos archivos de medios se eliminarán."</string>
- <string name="review_toss" msgid="7255331999518617841">"SUPRIMIR"</string>
- <string name="review_share" msgid="7294755861072174509">"COMPARTIR"</string>
- <string name="review_set" msgid="8304758352155378636">"ESTABLECER COMO"</string>
- <string name="review_play" msgid="6015456244323302817">"REPRODUCIR"</string>
- <string name="review_cancel" msgid="8188009385853399254">"CANCELAR"</string>
- <string name="review_done" msgid="5417465988786728114">"HECHO"</string>
- <string name="review_ok" msgid="5305096180300056529">"Aceptar"</string>
- <string name="review_retake" msgid="7804864054896088338">"VOLVER A REALIZAR"</string>
<string name="camera_toss" msgid="3781186798552460833">"Suprimir"</string>
<string name="camera_share" msgid="8207701858325694182">"Compartir"</string>
<string name="camera_set" msgid="3422192914806971182">"Establecer como"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"No hay ninguna aplicación disponible para compartir el vídeo."</string>
<string name="no_way_to_share" msgid="863323712875014752">"No hay ninguna aplicación disponible para compartir los archivos de medios."</string>
<string name="video_play" msgid="5287787282508002895">"Reproducir"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Galería"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Imágenes"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Fondo de pantalla"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Configuración general"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Mostrar presentación más de una vez"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Orden aleatorio"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Mostrar imágenes en orden aleatorio"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Almacenar ubicación"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Desactivada"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"Activada"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Calidad de vídeo"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Baja (para mensajes MMS)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Alta (para tarjeta SD)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Calidad de vídeo"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Duración de vídeo"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> segundos (para MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 minutos"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 minutos"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Duración de vídeo"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Configuración de cámara"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Configuración de videocámara"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Tamaño de imagen"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"Píxeles de 5 M"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"Píxeles de 3 M"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"Píxeles de 2 M"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"Píxeles de 1 M"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Tamaño de imagen"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Calidad de imagen"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Muy buena"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Buena"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Normal"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Calidad de imagen"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Modo de enfoque"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Automático"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Infinito"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Macro"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Modo de enfoque"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Modo flash"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Automático"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"Activado"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Desactivado"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Modo flash"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Balance de blancos"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Balance de blancos"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Automático"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Incandescente"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Luz natural"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Fluorescente"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Nublado"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Penumbra"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Sombra"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Fluorescente cálido"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Halógeno"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Efecto de color"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Efecto de color"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Ninguno"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Mono"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Sepia"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Negativo"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Solarizar"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Posterizar"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Pizarra blanca"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Pizarra negra"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Agua"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Pastel"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Mosaico"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Tono rojo"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Tono azul"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Tono verde"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Modo de escena"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Modo de escena"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Automático"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Acción"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Retrato"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Horizontal"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Nocturno"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Retrato nocturno"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Teatro"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Playa"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Nieve"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Atardecer"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Foto fija"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Fuegos artificiales"</string>
<string name="camerasettings" msgid="2433519618178453928">"Ajustes"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"No se ha encontrado ningún elemento."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Confirmar eliminaciones"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Compartir archivos de medios mediante"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Películas"</string>
<string name="loading_video" msgid="4013492720121891585">"Cargando vídeo…"</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"No queda espacio en la tarjeta SD. Cambia la configuración de calidad o elimina elementos de la galería."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Reanudar vídeo"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"¿Reanudar reproducción a partir de <xliff:g id="DURATION">%s</xliff:g>?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Reanudar reproducción"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Suprimir"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Cancelar"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Eliminando imágenes; por favor, espera…"</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Se ha alcanzado el límite de tamaño."</string>
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 4c7c3b3..140a903 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Erreur au niveau de l\'appareil photo"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"Impossible d\'établir une connexion avec l\'appareil photo."</string>
<string name="all_images" msgid="1195501551939178807">"Toutes les images"</string>
<string name="all_videos" msgid="3380966619230896013">"Toutes les vidéos"</string>
<string name="camera_label" msgid="6346560772074764302">"Appareil photo"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Caméra"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Galerie"</string>
<string name="gallery_label" msgid="7119609703856708011">"Galerie"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Photos de l\'appareil"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Configuration du fond d\'écran en cours. Veuillez patienter..."</string>
<string name="savingImage" msgid="3051745378545909260">"Enregistrement de l\'image"</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Veuillez patienter..."</string>
- <string name="settings" msgid="1534847740615665736">"Paramètres"</string>
<string name="view" msgid="6277795271119411881">"Afficher"</string>
<string name="details" msgid="8415120088556445230">"Détails"</string>
<string name="show_on_map" msgid="441725587731006228">"Afficher sur une carte"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"L\'image sera supprimée."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"La vidéo va être supprimée."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Ces fichiers vont être supprimés."</string>
- <string name="review_toss" msgid="7255331999518617841">"SUPPRIMER"</string>
- <string name="review_share" msgid="7294755861072174509">"PARTAGER"</string>
- <string name="review_set" msgid="8304758352155378636">"DÉFINIR COMME"</string>
- <string name="review_play" msgid="6015456244323302817">"LIRE"</string>
- <string name="review_cancel" msgid="8188009385853399254">"ANNULER"</string>
- <string name="review_done" msgid="5417465988786728114">"FERMER"</string>
- <string name="review_ok" msgid="5305096180300056529">"OK"</string>
- <string name="review_retake" msgid="7804864054896088338">"AUTRE PHOTO"</string>
<string name="camera_toss" msgid="3781186798552460833">"Supprimer"</string>
<string name="camera_share" msgid="8207701858325694182">"Partager"</string>
<string name="camera_set" msgid="3422192914806971182">"Définir comme"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"Aucune application disponible pour partager la vidéo"</string>
<string name="no_way_to_share" msgid="863323712875014752">"Aucune application disponible pour partager les fichiers multimédia"</string>
<string name="video_play" msgid="5287787282508002895">"Lire"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Galerie"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Images"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Fond d\'écran"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Paramètres généraux"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Rejouer le diaporama plusieurs fois"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Lecture aléatoire"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Afficher les images"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Enregistrer la position"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Désactivé"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"Activé"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Qualité vidéo"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Basse (MMS)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Haute (carte SD)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Qualité vidéo"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Durée de la vidéo"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> secondes (MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 minutes"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 minutes"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Durée de la vidéo"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Paramètres de l\'appareil photo"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Mode Caméra"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Taille d\'image"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5 M pixels"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3 M pixels"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2 M pixels"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1 M pixels"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Taille d\'image"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Qualité d\'image"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Très haute qualité"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Haute qualité"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Normale"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Qualité d\'image"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Mode de mise au point"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Automatique"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Infini"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Macro"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Mode de mise au point"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Mode Flash"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Automatique"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"Activé"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Désactivé"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Mode Flash"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Balance des blancs"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Balance des blancs"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Automatique"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Incandescent"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Lumière du jour"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Fluorescent"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Nuageux"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Crépuscule"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Ombre"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Fluorescent type chaud"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Halogène"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Effet couleur"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Effet couleur"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Aucun"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Mono"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Sépia"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Négatif"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Soleil direct"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Postérisation"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Tableau blanc"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Tableau noir"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Aquatique"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Pastel"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Mosaïque"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Teinte rouge"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Teinte bleue"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Teinte verte"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Mode Scène"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Mode Scène"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Automatique"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Action"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Portrait"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Paysage"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Nuit"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Portrait de nuit"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Théâtre"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Plage"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Neige"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Coucher de soleil"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Anti-flou"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Feux d\'artifice"</string>
<string name="camerasettings" msgid="2433519618178453928">"Paramètres"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"Aucun fichier trouvé."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Confirmer suppressions"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Partager les fichiers multimédia via"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Films"</string>
<string name="loading_video" msgid="4013492720121891585">"Chargement de la vidéo..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"Votre carte SD est pleine. Modifiez le paramètre de qualité ou supprimez des éléments de la galerie."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Reprendre la vidéo"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"Reprendre la lecture à partir de <xliff:g id="DURATION">%s</xliff:g> ?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Reprendre la lecture"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Supprimer"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Annuler"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Suppression des images en cours, veuillez patienter..."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Taille maximale atteinte."</string>
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index a4bbd8c..6bcd637 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Errore fotocamera"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"Impossibile collegarsi alla fotocamera."</string>
<string name="all_images" msgid="1195501551939178807">"Tutte le foto"</string>
<string name="all_videos" msgid="3380966619230896013">"Tutti i video"</string>
<string name="camera_label" msgid="6346560772074764302">"Fotocamera"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Videocamera"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Galleria"</string>
<string name="gallery_label" msgid="7119609703856708011">"Galleria"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Foto"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Impostazione sfondo, attendi..."</string>
<string name="savingImage" msgid="3051745378545909260">"Salvataggio foto..."</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Attendere..."</string>
- <string name="settings" msgid="1534847740615665736">"Impostazioni"</string>
<string name="view" msgid="6277795271119411881">"Visualizza"</string>
<string name="details" msgid="8415120088556445230">"Dettagli"</string>
<string name="show_on_map" msgid="441725587731006228">"Mostra su Google Maps"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"La foto verrà eliminata."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"Il video verrà eliminato."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Questi file multimediali verranno eliminati."</string>
- <string name="review_toss" msgid="7255331999518617841">"ELIMINA"</string>
- <string name="review_share" msgid="7294755861072174509">"CONDIVIDI"</string>
- <string name="review_set" msgid="8304758352155378636">"IMPOSTA COME"</string>
- <string name="review_play" msgid="6015456244323302817">"RIPRODUCI"</string>
- <string name="review_cancel" msgid="8188009385853399254">"ANNULLA"</string>
- <string name="review_done" msgid="5417465988786728114">"FINE"</string>
- <string name="review_ok" msgid="5305096180300056529">"OK"</string>
- <string name="review_retake" msgid="7804864054896088338">"SCATTA DI NUOVO"</string>
<string name="camera_toss" msgid="3781186798552460833">"Elimina"</string>
<string name="camera_share" msgid="8207701858325694182">"Condividi"</string>
<string name="camera_set" msgid="3422192914806971182">"Imposta come"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"Nessuna applicazione disponibile per condividere il video."</string>
<string name="no_way_to_share" msgid="863323712875014752">"Nessuna applicazione disponibile per condividere i file multimediali."</string>
<string name="video_play" msgid="5287787282508002895">"Riproduci"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Galleria"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Foto"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Sfondo"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Impostazioni generali"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Riproduci più volte la presentazione"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Riproduzione casuale"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Mostra le foto in ordine casuale"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Registra località"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Non attiva"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"Attiva"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Qualità video"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Bassa (per MMS)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Alta (per scheda SD)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Qualità video"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Durata video"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> secondi (per MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 minuti"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 minuti"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Durata video"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Impostazioni fotocamera"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Impostazioni videocamera"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Dimensioni foto"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5 Megapixel"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3 Megapixel"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2 Megapixel"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1 Megapixel"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Dimensioni foto"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Qualità immagine"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Super fine"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Fine"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Normale"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Qualità immagine"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Modalità messa a fuoco"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Automatico"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Infinito"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Macro"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Modalità messa a fuoco"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Modalità flash"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Automatica"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"Attiva"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Non attiva"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Modalità flash"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Bilanciamento del bianco"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Bilanciamento del bianco"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Automatico"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Luce incandescenza"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Luce diurna"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Luce neon"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Nuvoloso"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Crepuscolo"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Ombra"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Luce neon calda"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Luce alogena"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Effetto colore"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Effetto colore"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Nessuno"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Mono"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Seppia"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Negativo"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Solarizza"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Posterizza"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Lavagna bianca"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Lavagna nera"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Acqua"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Pastello"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Mosaico"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Tinta rossa"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Tinta blu"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Tinta verde"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Modalità scena"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Modalità scena"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Automatica"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Movimento"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Ritratto"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Paesaggio"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Notturna"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Ritratto notturno"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Teatro"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Spiaggia"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Neve"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Tramonto"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Stabilizzazione foto"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Fuochi d\'artificio"</string>
<string name="camerasettings" msgid="2433519618178453928">"Impostazioni"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"Nessun media trovato."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Conferma eliminazioni"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Condividi file multimediali tramite"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Film"</string>
<string name="loading_video" msgid="4013492720121891585">"Caricamento video..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"Lo spazio della scheda SD si sta esaurendo. Cambia l\'impostazione di qualità o elimina elementi nella galleria."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Riprendi video"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"Riprendere la riproduzione da <xliff:g id="DURATION">%s</xliff:g>?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Riprendi riproduzione"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Elimina"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Annulla"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Eliminazione immagini, attendi..."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Limite di dimensione raggiunto."</string>
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index fe9d158..500d377 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"カメラエラー"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"カメラに接続できません。"</string>
<string name="all_images" msgid="1195501551939178807">"すべての写真"</string>
<string name="all_videos" msgid="3380966619230896013">"すべての動画"</string>
<string name="camera_label" msgid="6346560772074764302">"カメラ"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"ビデオ録画"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"ギャラリー"</string>
<string name="gallery_label" msgid="7119609703856708011">"ギャラリー"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"カメラ (写真)"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"壁紙を設定しています。しばらくお待ちください..."</string>
<string name="savingImage" msgid="3051745378545909260">"写真を保存中..."</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"お待ちください..."</string>
- <string name="settings" msgid="1534847740615665736">"設定"</string>
<string name="view" msgid="6277795271119411881">"表示"</string>
<string name="details" msgid="8415120088556445230">"詳細情報"</string>
<string name="show_on_map" msgid="441725587731006228">"地図に表示"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"画像を削除します。"</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"動画を削除します。"</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"これらのメディアファイルが削除されます。"</string>
- <string name="review_toss" msgid="7255331999518617841">"削除"</string>
- <string name="review_share" msgid="7294755861072174509">"共有"</string>
- <string name="review_set" msgid="8304758352155378636">"登録"</string>
- <string name="review_play" msgid="6015456244323302817">"再生"</string>
- <string name="review_cancel" msgid="8188009385853399254">"キャンセル"</string>
- <string name="review_done" msgid="5417465988786728114">"完了"</string>
- <string name="review_ok" msgid="5305096180300056529">"OK"</string>
- <string name="review_retake" msgid="7804864054896088338">"撮り直し"</string>
<string name="camera_toss" msgid="3781186798552460833">"削除"</string>
<string name="camera_share" msgid="8207701858325694182">"共有"</string>
<string name="camera_set" msgid="3422192914806971182">"登録"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"動画を共有できるアプリケーションがありません。"</string>
<string name="no_way_to_share" msgid="863323712875014752">"メディアファイルを共有できるアプリケーションがありません。"</string>
<string name="video_play" msgid="5287787282508002895">"再生"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"ギャラリー"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"カメラで撮影した画像"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"壁紙"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"全般設定"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"スライドショーを繰り返し再生"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"スライドのシャッフル"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"ランダムに表示する"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"位置情報を記録する"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"OFF"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"ON"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"画質"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"低(メール添付向け)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"高 (SDカード向け)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"画質"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"動画の再生時間"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g>秒(MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10分"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30分"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"動画の再生時間"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"カメラ設定"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"ビデオ録画設定"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"表示サイズ"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5メガピクセル"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3メガピクセル"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2メガピクセル"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1メガピクセル"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"表示サイズ"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"写真の画質"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"スーパーファイン"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"ファイン"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"標準"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"写真の画質"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"フォーカスモード"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"オート"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"無限遠"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"マクロ"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"フォーカスモード"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"フラッシュモード"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"オート"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"ON"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"OFF"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"フラッシュモード"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"ホワイトバランス"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"ホワイトバランス"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"オート"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"白熱灯"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"昼光"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"蛍光灯"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"曇り"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"夕暮れ"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"影"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"暖色蛍光灯"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"ハロゲン"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"色効果"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"色効果"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"なし"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"モノクロ"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"セピア"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"白黒反転"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"ソラライズ"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"ポスタライズ"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"ホワイトボード"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"黒板"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"アクア"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"パステル"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"モザイク"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"色合い(赤)"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"色合い(青)"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"色合い(緑)"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"シーンモード"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"シーンモード"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"オート"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"操作"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"ポートレイト"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"横向き"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"夜景"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"夜景ポートレイト"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"シアター"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"ビーチ"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"雪"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"夕日"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"手振れ補正"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"花火"</string>
<string name="camerasettings" msgid="2433519618178453928">"設定"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"メディアが見つかりません。"</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"削除確認"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"メディアファイルを共有:"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"映画"</string>
<string name="loading_video" msgid="4013492720121891585">"動画を読み込み中..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"SDカードの容量が足りません。クオリティ設定を変更するか、ギャラリーからアイテムを削除してください。"</string>
<string name="resume_playing_title" msgid="8996677350649355013">"動画の再開"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"<xliff:g id="DURATION">%s</xliff:g>から再生を再開しますか?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"再生を再開"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"削除"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"キャンセル"</string>
<string name="delete_images_message" msgid="4504926868037899430">"画像を削除しています。お待ちください..."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"サイズ制限に達しました。"</string>
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index ef96fa9..3cc1993 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"카메라 오류"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"카메라에 연결할 수 없습니다."</string>
<string name="all_images" msgid="1195501551939178807">"모든 사진"</string>
<string name="all_videos" msgid="3380966619230896013">"모든 동영상"</string>
<string name="camera_label" msgid="6346560772074764302">"카메라"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"캠코더"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"갤러리"</string>
<string name="gallery_label" msgid="7119609703856708011">"갤러리"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"카메라 사진"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"배경화면을 설정하는 중입니다. 잠시 기다려 주세요..."</string>
<string name="savingImage" msgid="3051745378545909260">"사진 저장 중..."</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"잠시 기다려 주세요..."</string>
- <string name="settings" msgid="1534847740615665736">"설정"</string>
<string name="view" msgid="6277795271119411881">"보기"</string>
<string name="details" msgid="8415120088556445230">"세부정보"</string>
<string name="show_on_map" msgid="441725587731006228">"지도에 표시"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"사진이 삭제됩니다."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"동영상이 삭제됩니다."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"미디어 파일이 삭제됩니다."</string>
- <string name="review_toss" msgid="7255331999518617841">"삭제"</string>
- <string name="review_share" msgid="7294755861072174509">"공유"</string>
- <string name="review_set" msgid="8304758352155378636">"다음으로 설정"</string>
- <string name="review_play" msgid="6015456244323302817">"재생"</string>
- <string name="review_cancel" msgid="8188009385853399254">"취소"</string>
- <string name="review_done" msgid="5417465988786728114">"완료"</string>
- <string name="review_ok" msgid="5305096180300056529">"확인"</string>
- <string name="review_retake" msgid="7804864054896088338">"다시 촬영"</string>
<string name="camera_toss" msgid="3781186798552460833">"삭제"</string>
<string name="camera_share" msgid="8207701858325694182">"공유"</string>
<string name="camera_set" msgid="3422192914806971182">"다음으로 설정"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"동영상을 공유하기 위해 사용할 수 있는 응용프로그램이 없습니다."</string>
<string name="no_way_to_share" msgid="863323712875014752">"미디어 파일을 공유하기 위해 사용할 수 있는 응용프로그램이 없습니다."</string>
<string name="video_play" msgid="5287787282508002895">"재생"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"갤러리"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"사진"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"배경화면"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"일반 설정"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"슬라이드쇼를 한 번 이상 재생"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"슬라이드 섞기"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"무작위로 사진 표시"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"저장 위치"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"사용 안함"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"사용"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"동영상 화질"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"저화질(MMS 메시지용)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"높음(SD 카드용)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"동영상 화질"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"동영상 길이"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g>초(MMS용)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10분"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30분"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"동영상 길이"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"카메라 설정"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"캠코더 설정"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"사진 크기"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5M 픽셀"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3M 픽셀"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2M 픽셀"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1M 픽셀"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"사진 크기"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"사진 품질"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"최고급"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"고급"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"보통"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"사진 품질"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"초점 모드"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"자동"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"무한 거리"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"매크로"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"초점 모드"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"플래시 모드"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"자동"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"사용"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"사용 안함"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"플래시 모드"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"화이트 밸런스"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"화이트 밸런스"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"자동"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"백열"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"일광"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"형광"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"흐림"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"여명"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"음영"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"따뜻한 형광"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"할로겐"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"색상 효과"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"색상 효과"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"없음"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"모노"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"세피아"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"네거티브"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"감광"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"포스터"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"화이트보드"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"블랙보드"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"아쿠아"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"파스텔"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"모자이크"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"빨간색 농담"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"파란색 농담"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"녹색 농담"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"장면 모드"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"장면 모드"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"자동"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"동작"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"인물"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"가로"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"밤"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"야경 인물"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"극장"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"해변"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"눈"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"일몰"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"손떨림 방지 사진"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"불꽃놀이"</string>
<string name="camerasettings" msgid="2433519618178453928">"설정"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"미디어 파일이 없습니다."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"삭제 확인"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"미디어 파일 공유"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"영화"</string>
<string name="loading_video" msgid="4013492720121891585">"동영상 로드 중..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"SD 카드의 공간이 부족합니다. 화질 설정을 변경하거나 갤러리에서 항목을 삭제하세요."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"동영상 다시 시작"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"<xliff:g id="DURATION">%s</xliff:g>에서 재생을 다시 시작하시겠습니까?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"재생 다시 시작"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"삭제"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"취소"</string>
<string name="delete_images_message" msgid="4504926868037899430">"이미지를 삭제하는 중입니다. 잠시 기다려 주세요."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"크기 한도에 도달했습니다."</string>
</resources>
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index 2cdfb99..ea239e1 100644
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -15,6 +15,4 @@
-->
<resources>
- <dimen name="appwidget_width">206dip</dimen>
- <dimen name="appwidget_height">143dip</dimen>
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 4b32922..e4fef87 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Kamerafeil"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"Kan ikke koble til kameraet."</string>
<string name="all_images" msgid="1195501551939178807">"Alle bilder"</string>
<string name="all_videos" msgid="3380966619230896013">"Alle videoer"</string>
<string name="camera_label" msgid="6346560772074764302">"Kamera"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Video"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Galleri"</string>
<string name="gallery_label" msgid="7119609703856708011">"Galleri"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Bilder fra kamera"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Setter bakgrunnsbilde, vent litt…"</string>
<string name="savingImage" msgid="3051745378545909260">"Lagrer bilde…"</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Vent litt…"</string>
- <string name="settings" msgid="1534847740615665736">"Innstillinger"</string>
<string name="view" msgid="6277795271119411881">"Vis"</string>
<string name="details" msgid="8415120088556445230">"Detaljer"</string>
<string name="show_on_map" msgid="441725587731006228">"Vis i Maps"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"Bildet vil bli slettet."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"Videoen vil bli slettet."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Disse mediefilene vil bli slettet."</string>
- <string name="review_toss" msgid="7255331999518617841">"Slett"</string>
- <string name="review_share" msgid="7294755861072174509">"Del"</string>
- <string name="review_set" msgid="8304758352155378636">"Bruk som"</string>
- <string name="review_play" msgid="6015456244323302817">"Spill"</string>
- <string name="review_cancel" msgid="8188009385853399254">"Avbryt"</string>
- <string name="review_done" msgid="5417465988786728114">"Ferdig"</string>
- <string name="review_ok" msgid="5305096180300056529">"OK"</string>
- <string name="review_retake" msgid="7804864054896088338">"Ta på nytt"</string>
<string name="camera_toss" msgid="3781186798552460833">"Slett"</string>
<string name="camera_share" msgid="8207701858325694182">"Del"</string>
<string name="camera_set" msgid="3422192914806971182">"Bruk som"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"Ingen applikasjoner kan dele videoen."</string>
<string name="no_way_to_share" msgid="863323712875014752">"Ingen applikasjoner kan dele mediefilen(ene)."</string>
<string name="video_play" msgid="5287787282508002895">"Spill"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Galleri"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Bilder"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Bakgrunnsbilde"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Generelle innstillinger"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Vis lydbildeserie mer enn én gang"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Stokk lysbilder"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Vis bilder i tilfeldig rekkefølge"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Lagre sted i bilder"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Av"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"På"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Videokvalitet"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Lav (for MMS-meldinger)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Høy (for minnekort)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Videokvalitet"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Videolengde"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> sekunder (for MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 minutter"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 minutter"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Videolengde"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Kamerainnstillinger"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Videoinnstillinger"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Bildestørrelse"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5M (2592x1936)"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3M (2048x1536)"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2M (1600x1200)"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1M (1024x768)"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Bildestørrelse"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Bildekvalitet"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Ekstra fin"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Fin"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Normal"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Bildekvalitet"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Fokusmodus"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Autofokus"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Uendelig"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Makro"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Fokustype"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Blitzmodus"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Automatisk"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"På"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Av"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Blitzmodus"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Hvitbalanse"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Hvitbalanse"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Automatisk"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Flamme"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Dagslys"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Lysstoffrør"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Overskyet"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Grålysning"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Skygge"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Varmt lysstoffrør"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Halogen"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Fargeeffekt"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Fargeeffekt"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Ingen"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Monokrom"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Sepia"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Negativ"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Overeksponer"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Posteriser"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Whiteboard"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Tavle"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Vann"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Pastell"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Mosaikk"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Rødskjær"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Blåskjær"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Grønnskjær"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Velg scenemodus"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Velg scenemodus"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Automatisk"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Action"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Portrett"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Landskap"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Natt"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Nattportrett"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Teater"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Strand"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Snø"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Solnedgang"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Stødig foto"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Fyrverkeri"</string>
<string name="camerasettings" msgid="2433519618178453928">"Innstillinger"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"Fant ingen bilder."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Bekreft sletting"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Del mediefiler via"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Filmer"</string>
<string name="loading_video" msgid="4013492720121891585">"Laster video…"</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"Minnekortet begynner å gå tom for plass. Endre kvalitetsinnstillingen eller slett bilder fra galleriet."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Fortsett avspilling"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"Fortsett avspilling fra <xliff:g id="DURATION">%s</xliff:g>?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Fortsett avspilling"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Slett"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Avbryt"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Sletter bilder, vennligst vent …"</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Videoen ble for stor."</string>
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index c90afab..68e0617 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Camerafout"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"Kan geen verbinding maken met de camera."</string>
<string name="all_images" msgid="1195501551939178807">"Alle foto\'s"</string>
<string name="all_videos" msgid="3380966619230896013">"Alle video\'s"</string>
<string name="camera_label" msgid="6346560772074764302">"Camera"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Camcorder"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Galerij"</string>
<string name="gallery_label" msgid="7119609703856708011">"Galerij"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Camerafoto\'s"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Achtergrond wordt ingesteld. Een ogenblik geduld..."</string>
<string name="savingImage" msgid="3051745378545909260">"Foto opslaan..."</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Een ogenblik geduld..."</string>
- <string name="settings" msgid="1534847740615665736">"Instellingen"</string>
<string name="view" msgid="6277795271119411881">"Weergeven"</string>
<string name="details" msgid="8415120088556445230">"Details"</string>
<string name="show_on_map" msgid="441725587731006228">"Weergeven op Maps"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"De foto wordt verwijderd."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"De video wordt verwijderd."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Deze mediabestanden worden verwijderd."</string>
- <string name="review_toss" msgid="7255331999518617841">"VERWIJDEREN"</string>
- <string name="review_share" msgid="7294755861072174509">"DELEN"</string>
- <string name="review_set" msgid="8304758352155378636">"INSTELLEN ALS"</string>
- <string name="review_play" msgid="6015456244323302817">"AFSPELEN"</string>
- <string name="review_cancel" msgid="8188009385853399254">"ANNULEREN"</string>
- <string name="review_done" msgid="5417465988786728114">"GEREED"</string>
- <string name="review_ok" msgid="5305096180300056529">"OK"</string>
- <string name="review_retake" msgid="7804864054896088338">"OPNIEUW OPNEMEN"</string>
<string name="camera_toss" msgid="3781186798552460833">"Verwijderen"</string>
<string name="camera_share" msgid="8207701858325694182">"Delen"</string>
<string name="camera_set" msgid="3422192914806971182">"Instellen als"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"Er is geen toepassing beschikbaar om de video mee te delen."</string>
<string name="no_way_to_share" msgid="863323712875014752">"Er is geen toepassing beschikbaar om de mediabestanden mee te delen."</string>
<string name="video_play" msgid="5287787282508002895">"Afspelen"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Galerij"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Foto\'s"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Achtergrond"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Algemene instellingen"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Diavoorstelling meerdere keren afspelen"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Dia\'s in willekeurige volgorde weergeven"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Foto\'s in willekeurige volgorde weergeven"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Locatie opslaan"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Uit"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"Aan"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Videokwaliteit"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Laag (voor MMS-berichten)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Hoog (voor SD-kaart)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Videokwaliteit"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Duur van video"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> seconden (voor MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 minuten"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 minuten"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Duur van video"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Camera-instellingen"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Camcorder-instellingen"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Grootte van foto"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5000 pixels"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3 megapixels"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2 megapixels"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1 megapixels"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Grootte van foto"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Fotokwaliteit"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Zeer fijn"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Fijn"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Normaal"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Fotokwaliteit"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Scherpstelmodus"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Automatisch"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Oneindig"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Macro"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Scherpstelmodus"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Flitsmodus"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Automatisch"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"Aan"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Uit"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Flitsmodus"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Witbalans"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Witbalans"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Automatisch"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Gloeilamp"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Daglicht"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Fluorescerend"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Bewolkt"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Schemering"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Schaduw"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Warm fluorescerend"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Halogeen"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Kleureffect"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Kleureffect"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Geen"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Mono"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Sepia"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Negatief"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Solariseren"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Postereffect"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Whiteboard"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Schoolbord"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Aqua"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Pastel"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Mozaïek"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Roodtinten"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Blauwtinten"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Groentinten"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Scènemodus"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Scènemodus"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Automatisch"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Actie"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Portret"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Liggend"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Nacht"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Nachtportret"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Theater"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Strand"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Sneeuw"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Zonsondergang"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Stabiele foto"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Vuurwerk"</string>
<string name="camerasettings" msgid="2433519618178453928">"Instellingen"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"Geen medium gevonden."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Verwijderen bevestigen"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Mediabestanden delen via"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Films"</string>
<string name="loading_video" msgid="4013492720121891585">"Video laden..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"Er is weinig ruimte beschikbaar op uw SD-kaart. U kunt de kwaliteitsinstelling wijzigen of items uit de galerij verwijderen."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Video hervatten"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"Afspelen hervatten vanaf <xliff:g id="DURATION">%s</xliff:g>?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Afspelen hervatten"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Verwijderen"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Annuleren"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Afbeeldingen verwijderen. Een ogenblik geduld…"</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Maximale grootte bereikt"</string>
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 15f6494..a64e862 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Błąd aparatu"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"Nie można nawiązać połączenia z aparatem."</string>
<string name="all_images" msgid="1195501551939178807">"Wszystkie zdjęcia"</string>
<string name="all_videos" msgid="3380966619230896013">"Wszystkie filmy"</string>
<string name="camera_label" msgid="6346560772074764302">"Aparat"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Kamera"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Galeria"</string>
<string name="gallery_label" msgid="7119609703856708011">"Galeria"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Zdjęcia z aparatu"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Ustawianie tapety, proszę czekać…"</string>
<string name="savingImage" msgid="3051745378545909260">"Trwa zapisywanie zdjęcia…"</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Proszę czekać…"</string>
- <string name="settings" msgid="1534847740615665736">"Ustawienia"</string>
<string name="view" msgid="6277795271119411881">"Wyświetl"</string>
<string name="details" msgid="8415120088556445230">"Szczegóły"</string>
<string name="show_on_map" msgid="441725587731006228">"Pokaż w Mapach Google"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"Zdjęcie zostanie usunięte."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"Film wideo zostanie usunięty."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Te pliki multimedialne zostaną usunięte."</string>
- <string name="review_toss" msgid="7255331999518617841">"USUŃ"</string>
- <string name="review_share" msgid="7294755861072174509">"UDOSTĘPNIJ"</string>
- <string name="review_set" msgid="8304758352155378636">"USTAW JAKO"</string>
- <string name="review_play" msgid="6015456244323302817">"ODTWÓRZ"</string>
- <string name="review_cancel" msgid="8188009385853399254">"ANULUJ"</string>
- <string name="review_done" msgid="5417465988786728114">"GOTOWE"</string>
- <string name="review_ok" msgid="5305096180300056529">"OK"</string>
- <string name="review_retake" msgid="7804864054896088338">"ZRÓB PONOWNIE"</string>
<string name="camera_toss" msgid="3781186798552460833">"Usuń"</string>
<string name="camera_share" msgid="8207701858325694182">"Prześlij"</string>
<string name="camera_set" msgid="3422192914806971182">"Ustaw jako"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"Brak dostępnej aplikacji do udostępnienia filmu wideo."</string>
<string name="no_way_to_share" msgid="863323712875014752">"Brak dostępnej aplikacji do udostępnienia plików multimedialnych."</string>
<string name="video_play" msgid="5287787282508002895">"Odtwórz"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Galeria"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Zdjęcia"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Tapeta"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Ustawienia ogólne"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Wyświetlaj pokaz slajdów więcej niż raz"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Losowa kolejność"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Wyświetlaj zdjęcia w kolejności losowej"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Lokalizacja przechowywania"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Wyłączona"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"Włączona"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Jakość filmu wideo"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Niska (dla wiadomości MMS)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Wysoka (dla karty SD)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Jakość wideo"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Czas trwania filmu wideo"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> s (dla wiadomości MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 minut"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 minut"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Czas trwania filmu wideo"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Ustawienia aparatu"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Ustawienia kamery"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Rozmiar zdjęcia"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5 megapikseli"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3 megapiksele"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2 megapiksele"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1 megapiksel"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Rozmiar zdjęcia"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Jakość zdjęcia"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Bardzo wysoka"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Wysoka"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Normalna"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Jakość zdjęcia"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Tryb ostrości"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Automatyczna"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Nieskończoność"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Makro"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Tryb ostrości"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Tryb lampy błyskowej"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Automatyczna"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"Włączony"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Wyłączona"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Tryb lampy błyskowej"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Balans bieli"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Balans bieli"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Automatyczny"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Światło żarowe"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Światło dzienne"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Fluorescencja"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Zachmurzenie"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Zmierzch"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Cień"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Ciepła fluorescencja"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Światło halogenowe"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Efekt koloru"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Efekt koloru"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Brak"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Monochromatyczny"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Sepia"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Negatyw"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Solaryzacja"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Posteryzacja"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Biała tablica"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Czarna tablica"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Akwarela"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Pastel"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Mozaika"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Odcień czerwony"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Odcień niebieski"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Odcień zielony"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Tryb sceny"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Tryb sceny"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Automatyczny"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Akcja"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Pionowy"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Poziomy"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Noc"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Nocny portret"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Teatr"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Plaża"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Śnieg"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Zachód słońca"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Statyczne zdjęcie"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Sztuczne ognie"</string>
<string name="camerasettings" msgid="2433519618178453928">"Ustawienia"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"Brak plików"</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Potwierdzanie usuwania"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Udostępnij pliki multimedialne za pośrednictwem"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Filmy"</string>
<string name="loading_video" msgid="4013492720121891585">"Ładowanie filmu..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"Na karcie SD brakuje miejsca. Zmień ustawienie jakości lub usuń elementy z Galerii."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Wznów film"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"Wznowić odtwarzanie od momentu <xliff:g id="DURATION">%s</xliff:g>?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Wznów odtwarzanie"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Usuń"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Anuluj"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Trwa usuwanie zdjęć, czekaj…"</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Osiągnięto limit rozmiaru."</string>
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index e7ac18e..0d17cdc 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Erro da câmara"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"Não é possível efectuar a ligação à câmara."</string>
<string name="all_images" msgid="1195501551939178807">"Todas as imagens"</string>
<string name="all_videos" msgid="3380966619230896013">"Todos os vídeos"</string>
<string name="camera_label" msgid="6346560772074764302">"Câmara"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Câmara de vídeo"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Galeria"</string>
<string name="gallery_label" msgid="7119609703856708011">"Galeria"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Imagens da câmara"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"A definir a imagem de fundo, aguarde..."</string>
<string name="savingImage" msgid="3051745378545909260">"A guardar imagem..."</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Aguarde..."</string>
- <string name="settings" msgid="1534847740615665736">"Definições"</string>
<string name="view" msgid="6277795271119411881">"Ver"</string>
<string name="details" msgid="8415120088556445230">"Detalhes"</string>
<string name="show_on_map" msgid="441725587731006228">"Mostrar no Google Maps"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"A imagem será eliminada."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"O vídeo será eliminado."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Estes ficheiros multimédia serão eliminados."</string>
- <string name="review_toss" msgid="7255331999518617841">"ELIMINAR"</string>
- <string name="review_share" msgid="7294755861072174509">"PARTILHAR"</string>
- <string name="review_set" msgid="8304758352155378636">"DEFINIR COMO"</string>
- <string name="review_play" msgid="6015456244323302817">"REPRODUZIR"</string>
- <string name="review_cancel" msgid="8188009385853399254">"CANCELAR"</string>
- <string name="review_done" msgid="5417465988786728114">"CONCLUÍDO"</string>
- <string name="review_ok" msgid="5305096180300056529">"OK"</string>
- <string name="review_retake" msgid="7804864054896088338">"VOLTAR A TIRAR"</string>
<string name="camera_toss" msgid="3781186798552460833">"Eliminar"</string>
<string name="camera_share" msgid="8207701858325694182">"Partilhar"</string>
<string name="camera_set" msgid="3422192914806971182">"Definir como"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"Não existe nenhuma aplicação disponível para partilhar o vídeo."</string>
<string name="no_way_to_share" msgid="863323712875014752">"Não existe nenhuma aplicação disponível para partilhar o(s) ficheiro(s) multimédia."</string>
<string name="video_play" msgid="5287787282508002895">"Reproduzir"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Galeria"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Imagens"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Imagem de fundo"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Definições gerais"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Repetir a apresentação de diapositivos"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Reproduzir diapositivos aleatoriamente"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Mostrar imagens por ordem aleatória"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Armazenar localização"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Desactivado"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"Activado"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Qualidade de vídeo"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Baixa (para mensagens MMS)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Alta (para cartão SD)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Qualidade de vídeo"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Duração do vídeo"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> segundos (para MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 minutos"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 minutos"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Duração do vídeo"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Definições da câmara"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Definições da câmara de vídeo"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Tamanho da imagem"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5 megapixels"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3 megapixels"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2 megapixels"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1 megapixels"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Tamanho da imagem"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Qualidade de imagem"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Super fina"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Optimizar"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Normal"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Qualidade da imagem"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Modo de focagem"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Automático"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Infinidade"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Macro"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Modo de focagem"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Modo flash"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Automático"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"Activado"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Desactivado"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Modo flash"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Equilíbrio dos brancos"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Equilíbrio dos brancos"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Automático"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Incandescente"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Luz do dia"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Fluorescente"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Nublado"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Crepúsculo"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Sombra"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Fluorescente quente"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Halogéneo"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Efeito de cor"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Efeito de cor"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Nenhum"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Monocromático"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Sépia"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Negativo"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Solarização"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Póster"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Quadro branco"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Quadro preto"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Azul-marinho"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Pastel"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Mosaico"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Tonalidade vermelha"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Tonalidade azul"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Tonalidade verde"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Modo cenário"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Modo cenário"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Automático"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Acção"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Retrato"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Paisagem"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Nocturno"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Retrato nocturno"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Cinema"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Praia"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Neve"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Ocaso"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Fotografia uniforme"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Fogo-de-artifício"</string>
<string name="camerasettings" msgid="2433519618178453928">"Definições"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"Nenhum suporte de dados encontrado."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Confirmar a eliminação"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Partilhar ficheiros multimédia através de"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Filmes"</string>
<string name="loading_video" msgid="4013492720121891585">"A carregar vídeo..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"Está a ficar sem espaço no cartão SD. Altere as definições de qualidade ou elimine itens da Galeria."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Retomar o vídeo"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"Retomar reprodução a partir de <xliff:g id="DURATION">%s</xliff:g>?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Retomar a reprodução"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Eliminar"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Cancelar"</string>
<string name="delete_images_message" msgid="4504926868037899430">"A eliminar imagens, por favor aguarde..."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Limite de tamanho atingido."</string>
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 072b681..eb90f21 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Erro de câmera"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"Não é possível se conectar à câmera."</string>
<string name="all_images" msgid="1195501551939178807">"Todas as imagens"</string>
<string name="all_videos" msgid="3380966619230896013">"Todos os vídeos"</string>
<string name="camera_label" msgid="6346560772074764302">"Câmera"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Filmadora"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Galeria"</string>
<string name="gallery_label" msgid="7119609703856708011">"Galeria"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Imagens da câmera"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Configurando o papel de parede, aguarde…"</string>
<string name="savingImage" msgid="3051745378545909260">"Salvando imagem…"</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Aguarde..."</string>
- <string name="settings" msgid="1534847740615665736">"Configurações"</string>
<string name="view" msgid="6277795271119411881">"Exibir"</string>
<string name="details" msgid="8415120088556445230">"Detalhes"</string>
<string name="show_on_map" msgid="441725587731006228">"Mostrar no Google Maps"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"A imagem será excluída."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"O vídeo será excluído."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Os arquivos de mídia serão excluídos."</string>
- <string name="review_toss" msgid="7255331999518617841">"EXCLUIR"</string>
- <string name="review_share" msgid="7294755861072174509">"COMPARTILHAR"</string>
- <string name="review_set" msgid="8304758352155378636">"DEFINIR COMO"</string>
- <string name="review_play" msgid="6015456244323302817">"REPRODUZIR"</string>
- <string name="review_cancel" msgid="8188009385853399254">"CANCELAR"</string>
- <string name="review_done" msgid="5417465988786728114">"CONCLUÍDO"</string>
- <string name="review_ok" msgid="5305096180300056529">"OK"</string>
- <string name="review_retake" msgid="7804864054896088338">"TIRAR OUTRA"</string>
<string name="camera_toss" msgid="3781186798552460833">"Excluir"</string>
<string name="camera_share" msgid="8207701858325694182">"Compartilhar"</string>
<string name="camera_set" msgid="3422192914806971182">"Definir como"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"Não há aplicativo disponível para compartilhar o vídeo."</string>
<string name="no_way_to_share" msgid="863323712875014752">"Não há aplicativo disponível para compartilhar os arquivos de mídia."</string>
<string name="video_play" msgid="5287787282508002895">"Reproduzir"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Galeria"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Imagens"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Papel de parede"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Configurações gerais"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Reproduzir apresentação de slides mais de uma vez"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Reproduzir aleatoriamente"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Mostrar imagens em ordem aleatória"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Local de armazenamento"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Desativado"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"Ativado"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Qualidade do vídeo"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Baixa (para mensagens MMS)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Alta (para cartão SD)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Qualidade do vídeo"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Duração do vídeo"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> segundos (para MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 minutos"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 minutos"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Duração do vídeo"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Configurações da câmera"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Configurações da filmadora"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Tamanho da imagem"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5M Pixels"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3M Pixels"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2M Pixels"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1M Pixels"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Tamanho da imagem"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Qualidade da imagem"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Muito boa"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Boa"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Normal"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Qualidade da imagem"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Modo de foco"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Automático"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Infinito"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Macro"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Modo de foco"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Modo de flash"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Automático"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"Ativado"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Desativado"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Modo de flash"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Balanço de branco"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Balanço de branco"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Automático"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Incandescente"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Luz do dia"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Fluorescente"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Nublado"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Crepúsculo"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Sombreado"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Fluorescente quente"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Halogênico"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Efeito de cor"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Efeito de cor"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Nenhum"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Mono"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Sépia"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Negativo"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Solarizar"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Transformar em pôster"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Quadro branco"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Quadro negro"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Aqua"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Tons pastéis"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Mosaico"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Filtro vermelho"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Filtro azul"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Filtro verde"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Modo de cena"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Modo de cena"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Automático"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Ação"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Retrato"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Paisagem"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Cena noturna"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Retrato noturno"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Teatro"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Praia"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Neve"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Pôr-do-sol"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Foto nítida"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Fogos de artifício"</string>
<string name="camerasettings" msgid="2433519618178453928">"Configurações"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"Nenhuma mídia encontrada."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Confirmar exclusões"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Compartilhar arquivos de mídia via"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Filmes"</string>
<string name="loading_video" msgid="4013492720121891585">"Carregando vídeo..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"O seu cartão SD está sem espaço. Mude a configuração de qualidade ou exclua itens da Galeria."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Retomar vídeo"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"Retomar reprodução a partir de <xliff:g id="DURATION">%s</xliff:g> ?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Retomar a reprodução"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Excluir"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Cancelar"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Excluindo imagens. Aguarde..."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Limite de tamanho atingido."</string>
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 9d7dd63..6034313 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Ошибка камеры"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"Не удается подключиться к камере."</string>
<string name="all_images" msgid="1195501551939178807">"Все картинки"</string>
<string name="all_videos" msgid="3380966619230896013">"Все видео"</string>
<string name="camera_label" msgid="6346560772074764302">"Фотокамера"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Видеокамера"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Фотоальбом"</string>
<string name="gallery_label" msgid="7119609703856708011">"Фотоальбом"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Снимки, сделанные камерой"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Установка обоев, подождите..."</string>
<string name="savingImage" msgid="3051745378545909260">"Сохранение картинки..."</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Подождите..."</string>
- <string name="settings" msgid="1534847740615665736">"Настройки"</string>
<string name="view" msgid="6277795271119411881">"Просмотр"</string>
<string name="details" msgid="8415120088556445230">"Сведения"</string>
<string name="show_on_map" msgid="441725587731006228">"Показать в Картах"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"Картинка будет удалена."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"Видео будет удалено."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Эти медиафайлы будут удалены."</string>
- <string name="review_toss" msgid="7255331999518617841">"УДАЛИТЬ"</string>
- <string name="review_share" msgid="7294755861072174509">"ОТПРАВИТЬ"</string>
- <string name="review_set" msgid="8304758352155378636">"УСТАНОВИТЬ КАК"</string>
- <string name="review_play" msgid="6015456244323302817">"ВОСПРОИЗВЕСТИ"</string>
- <string name="review_cancel" msgid="8188009385853399254">"ОТМЕНА"</string>
- <string name="review_done" msgid="5417465988786728114">"ГОТОВО"</string>
- <string name="review_ok" msgid="5305096180300056529">"ОК"</string>
- <string name="review_retake" msgid="7804864054896088338">"ДРУГОЙ СНИМОК"</string>
<string name="camera_toss" msgid="3781186798552460833">"Удалить"</string>
<string name="camera_share" msgid="8207701858325694182">"Отправить"</string>
<string name="camera_set" msgid="3422192914806971182">"Установить как"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"Отсутствует приложение для открытия совместного доступа к видео."</string>
<string name="no_way_to_share" msgid="863323712875014752">"Отсутствует приложение для открытия совместного доступа к мультимедийным файлам."</string>
<string name="video_play" msgid="5287787282508002895">"Воспроизвести"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Фотоальбом"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Картинки"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Обои"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Общие настройки"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Воспроизвести слайд-шоу более одного раза"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Перемешать слайды"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Показ фотографий в случайном порядке"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Записывать местоположение"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Выкл."</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"Вкл."</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Качество видео"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Низкое (для сообщений MMS)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Высокое (для SD-карты)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Качество видео"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Длительность видео"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> с. (для MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 минут"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 минут"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Длительность видео"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Настройки камеры"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Настройки видеокамеры"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Размер фотографии"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5 мегапикселей"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3 мегапикселя"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2 мегапикселя"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1 мегапиксель"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Размер фотографии"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Качество фотографий"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Отличное"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Хорошее"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Обычное"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Качество фотографий"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Режим фокусировки"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Авто"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Бесконечность"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Макро"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Режим фокусировки"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Режим вспышки"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Авто"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"Вкл."</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Выкл."</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Режим вспышки"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Баланс белого"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Баланс белого"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Авто"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Лампа накаливания"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Дневной свет"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Лампа дневного света"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Пасмурно"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Сумерки"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Тень"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Лампа дневного света (теплых тонов)"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Галогенная лампа"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Цветовые эффекты"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Цветовые эффекты"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Нет"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Монохром"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Сепия"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Негатив"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Соляризация"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Постеризация"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Белая доска"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Мел на черной доске"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Под водой"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Пастель"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Мозаика"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Красный оттенок"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Синий оттенок"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Зеленый оттенок"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Режим съемки"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Режим съемки"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Авто"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Действие"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Портрет"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Пейзаж"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Ночь"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Ночной портрет"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"На сцене"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Пляж"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Снег"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Закат"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Четкость"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Фейерверк"</string>
<string name="camerasettings" msgid="2433519618178453928">"Настройки"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"Нет мультимедийных материалов."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Подтверждать удаление"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Открыть совместный доступ к файлам через"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Фильмы"</string>
<string name="loading_video" msgid="4013492720121891585">"Загрузка видео…"</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"Место на вашей SD-карте заканчивается. Измените настройки качества или удалите содержимое из фотоальбома."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Продолжение просмотра видео"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"Продолжить воспроизведение с <xliff:g id="DURATION">%s</xliff:g>?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Продолжить воспроизведение"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Удалить"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Отмена"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Удаление изображений, подождите..."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Достигнут предельный размер видео."</string>
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index ac51d02..1bee2fd 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Kamerafel"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"Det går inte att ansluta till kameran."</string>
<string name="all_images" msgid="1195501551939178807">"Alla bilder"</string>
<string name="all_videos" msgid="3380966619230896013">"Alla videor"</string>
<string name="camera_label" msgid="6346560772074764302">"Kamera"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Videokamera"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Galleri"</string>
<string name="gallery_label" msgid="7119609703856708011">"Galleri"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Kamerabilder"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Anger bakgrund, vänta…"</string>
<string name="savingImage" msgid="3051745378545909260">"Sparar bild…"</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Vänta…"</string>
- <string name="settings" msgid="1534847740615665736">"Inställningar"</string>
<string name="view" msgid="6277795271119411881">"Visa"</string>
<string name="details" msgid="8415120088556445230">"Information"</string>
<string name="show_on_map" msgid="441725587731006228">"Visa på kartor"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"Bilden kommer att tas bort."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"Videon kommer att tas bort."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Dessa mediefiler tas bort."</string>
- <string name="review_toss" msgid="7255331999518617841">"TA BORT"</string>
- <string name="review_share" msgid="7294755861072174509">"DELA"</string>
- <string name="review_set" msgid="8304758352155378636">"ANVÄND SOM"</string>
- <string name="review_play" msgid="6015456244323302817">"SPELA"</string>
- <string name="review_cancel" msgid="8188009385853399254">"AVBRYT"</string>
- <string name="review_done" msgid="5417465988786728114">"FÄRDIG"</string>
- <string name="review_ok" msgid="5305096180300056529">"OK"</string>
- <string name="review_retake" msgid="7804864054896088338">"TA OM"</string>
<string name="camera_toss" msgid="3781186798552460833">"Ta bort"</string>
<string name="camera_share" msgid="8207701858325694182">"Dela"</string>
<string name="camera_set" msgid="3422192914806971182">"Använd som"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"Det finns inget program som kan dela videoklippet."</string>
<string name="no_way_to_share" msgid="863323712875014752">"Det finns inget program som kan dela mediefilerna."</string>
<string name="video_play" msgid="5287787282508002895">"Spela"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Galleri"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Bilder"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Bakgrund"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Allmänna inställningar"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Visa bildspel mer än en gång"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Blanda bilder"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Visa bilder i slumpmässig ordning"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Spara plats"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Av"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"På"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Videokvalitet"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Låg (för MMS)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Hög (för SD-kort)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Videokvalitet"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Videoklippets längd"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> sekunder (för MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 minuter"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 minuter"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Videons längd"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Kamerainställningar"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Videokamerainställningar"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Bildstorlek"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5 megapixlar"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3 megapixlar"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2 megapixlar"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1 megapixel"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Bildstorlek"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Bildkvalitet"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Superfin"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"Fin"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Normal"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Bildkvalitet"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Fokusläge"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Automatiskt"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Oändligt"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Makro"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Fokusläge"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Blixtläge"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Automatiskt"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"På"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Av"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Blixtläge"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Vitbalans"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Vitbalans"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Automatiskt"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Självlysande"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Dagsljus"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Fluorescerande"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Molnigt"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Skymning"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Skugga"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Varmt fluorescerande"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Halogen"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Färgeffekt"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Färgeffekt"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Inga"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Mono"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Sepia"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Negativ"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Solarisera"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Färgreduktion"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Whiteboard"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Svart tavla"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Aqua"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Pastell"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Mosaik"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Röd ton"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Blå ton"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Grön ton"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Scenläge"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Scenläge"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Automatiskt"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"Åtgärd"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Porträtt"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Landskap"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Natt"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Nattporträtt"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Teater"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Strand"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Snö"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Solnedgång"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Stadigt foto"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Fyrverkerier"</string>
<string name="camerasettings" msgid="2433519618178453928">"Inställningar"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"Inga medieobjekt hittades."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Bekräfta borttagningar"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Dela mediefiler via"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Filmer"</string>
<string name="loading_video" msgid="4013492720121891585">"Läser in video…"</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"Ditt SD-kort börjar bli fullt. Ändra inställningen för kvalitet eller ta bort objekt från Galleri."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Fortsätt spela videon"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"Vill du fortsätta spela upp från <xliff:g id="DURATION">%s</xliff:g>?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Fortsätt spela upp"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Ta bort"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"Avbryt"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Tar bort bilder, vänta..."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Storleksgränsen nådd."</string>
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index fa0bd40..1da125a 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"Kamera Hatası"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"Kamera bağlantısı yapılamıyor."</string>
<string name="all_images" msgid="1195501551939178807">"Tüm resimler"</string>
<string name="all_videos" msgid="3380966619230896013">"Tüm videolar"</string>
<string name="camera_label" msgid="6346560772074764302">"Kamera"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"Video Kamera"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"Galeri"</string>
<string name="gallery_label" msgid="7119609703856708011">"Galeri"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"Kamera resimleri"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"Duvar kağıdı ayarlanıyor, lütfen bekleyin..."</string>
<string name="savingImage" msgid="3051745378545909260">"Resim kaydediliyor..."</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"Lütfen bekleyin..."</string>
- <string name="settings" msgid="1534847740615665736">"Ayarlar"</string>
<string name="view" msgid="6277795271119411881">"Görüntüle"</string>
<string name="details" msgid="8415120088556445230">"Ayrıntılar"</string>
<string name="show_on_map" msgid="441725587731006228">"Google Haritalar\'da göster"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"Resim silinecek."</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"Video silinecek."</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"Bu medya dosyaları silinecek."</string>
- <string name="review_toss" msgid="7255331999518617841">"SİL"</string>
- <string name="review_share" msgid="7294755861072174509">"PAYLAŞ"</string>
- <string name="review_set" msgid="8304758352155378636">"ŞU ŞEKİLDE AYARLA:"</string>
- <string name="review_play" msgid="6015456244323302817">"YÜRÜT"</string>
- <string name="review_cancel" msgid="8188009385853399254">"İPTAL"</string>
- <string name="review_done" msgid="5417465988786728114">"BİTTİ"</string>
- <string name="review_ok" msgid="5305096180300056529">"Tamam"</string>
- <string name="review_retake" msgid="7804864054896088338">"YENİDEN ÇEK"</string>
<string name="camera_toss" msgid="3781186798552460833">"Sil"</string>
<string name="camera_share" msgid="8207701858325694182">"Paylaş"</string>
<string name="camera_set" msgid="3422192914806971182">"Şu şekilde ayarla:"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"Videoyu paylaşmak için kullanılacak uygulama yok."</string>
<string name="no_way_to_share" msgid="863323712875014752">"Medya dosyalarını paylaşmak için kullanılacak uygulama yok."</string>
<string name="video_play" msgid="5287787282508002895">"Yürüt"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"Galeri"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"Resimler"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"Duvar Kağıdı"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"Genel ayarlar"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"Slayt gösterisini birden fazla kez yürüt"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"Slaytları karıştır"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"Resimleri rasgele sırada göster"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Depo konumu"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Kapalı"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"Açık"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"Video kalitesi"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"Düşük (MMS mesajları için)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"Yüksek (SD kart için)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"Video kalitesi"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"Video süresi"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> saniye (MMS için)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 dakika"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 dakika"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"Video süresi"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"Kamera ayarları"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Kamera ayarları"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Resim boyutu"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5M Piksel"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3M Piksel"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2M Piksel"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1M Piksel"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"Resim boyutu"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"Resim kalitesi"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"Çok iyi"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"İyi"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"Normal"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"Resim kalitesi"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Odak modu"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Otomatik"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Sonsuz"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Makro"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"Odak modu"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Flaş modu"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"Otomatik"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"Açık"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"Kapalı"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"Flaş modu"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"Beyaz dengesi"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"Beyaz dengesi"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"Otomatik"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"Ampul"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"Gün Işığı"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"Floresan"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"Bulutlu"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"Alaca Karanlık"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"Gölge"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"Sıcak Floresan"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"Halojen"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"Renk efekti"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"Renk efekti"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"Yok"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"Mono"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"Sepya"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"Negatif"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"Güneş ışığı etkisi"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"Poster efekti ver"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"Beyaz Tahta"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"Siyah Tahta"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"Su"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"Pastel"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"Mozaik"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"Kırmızı Ton"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"Mavi Ton"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"Yeşil Ton"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"Sahne modu"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"Sahne modu"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"Otomatik"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"İşlem"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"Portre"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"Yatay"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"Gece"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"Gece Portresi"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"Tiyatro"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"Kumsal"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"Kar"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"Gün batımı"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"Sabit Fotoğraf"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"Havai fişekler"</string>
<string name="camerasettings" msgid="2433519618178453928">"Ayarlar"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"Medya bulunamadı."</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"Silme işlemlerini doğrula"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"Medya dosyalarını paylaşın"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"Filmler"</string>
<string name="loading_video" msgid="4013492720121891585">"Video yükleniyor..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"SD kartınızda boş alan azalıyor. Kalite ayarlarını değiştirin veya Galeri\'den öğe silin."</string>
<string name="resume_playing_title" msgid="8996677350649355013">"Videoyu sürdür"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"Yürütme şu noktadan devam ettirilsin mi?: <xliff:g id="DURATION">%s</xliff:g>"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"Yürütmeyi sürdür"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"Sil"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"İptal"</string>
<string name="delete_images_message" msgid="4504926868037899430">"Görseller siliniyor, lütfen bekleyin..."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"Boyut sınırına ulaşıldı."</string>
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index e125405..279ea70 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"相机故障"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"无法连接到相机。"</string>
<string name="all_images" msgid="1195501551939178807">"所有图片"</string>
<string name="all_videos" msgid="3380966619230896013">"所有视频"</string>
<string name="camera_label" msgid="6346560772074764302">"相机"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"摄像机"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"图库"</string>
<string name="gallery_label" msgid="7119609703856708011">"图库"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"用相机拍摄的照片"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"正在设置壁纸,请稍候..."</string>
<string name="savingImage" msgid="3051745378545909260">"正在保存图片..."</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"请稍候..."</string>
- <string name="settings" msgid="1534847740615665736">"设置"</string>
<string name="view" msgid="6277795271119411881">"查看"</string>
<string name="details" msgid="8415120088556445230">"详细信息"</string>
<string name="show_on_map" msgid="441725587731006228">"显示在地图上"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"将会删除此图片。"</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"将会删除视频。"</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"此时将删除这些媒体文件。"</string>
- <string name="review_toss" msgid="7255331999518617841">"删除"</string>
- <string name="review_share" msgid="7294755861072174509">"分享"</string>
- <string name="review_set" msgid="8304758352155378636">"设置为"</string>
- <string name="review_play" msgid="6015456244323302817">"播放"</string>
- <string name="review_cancel" msgid="8188009385853399254">"取消"</string>
- <string name="review_done" msgid="5417465988786728114">"完成"</string>
- <string name="review_ok" msgid="5305096180300056529">"确定"</string>
- <string name="review_retake" msgid="7804864054896088338">"重拍"</string>
<string name="camera_toss" msgid="3781186798552460833">"删除"</string>
<string name="camera_share" msgid="8207701858325694182">"分享"</string>
<string name="camera_set" msgid="3422192914806971182">"设置为"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"没有可用于分享视频的应用程序。"</string>
<string name="no_way_to_share" msgid="863323712875014752">"没有可用于分享媒体文件的应用程序。"</string>
<string name="video_play" msgid="5287787282508002895">"播放"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"图库"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"图片"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"壁纸"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"常规设置"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"循环播放幻灯片"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"随机播放幻灯片"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"以随机顺序显示图片"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"存储位置"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"关"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"开"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"视频画质"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"低(对于彩信)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"高(对于 SD 卡)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"视频画质"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"视频时长"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> 秒(对于彩信)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 分钟"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 分钟"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"视频长度"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"相机设置"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"摄像机设置"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"照片大小"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5 百万像素"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3 百万像素"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2 百万像素"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1 百万像素"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"照片大小"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"照片质量"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"极精细"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"精细"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"正常"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"照片质量"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"对焦方式"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"自动"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"无限远"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"微距"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"对焦方式"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"闪光模式"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"自动"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"开"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"关"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"闪光模式"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"白平衡"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"白平衡"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"自动"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"白炽光"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"日光"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"荧光"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"阴天"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"微光"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"阴影"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"暖荧光"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"钨丝灯"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"色彩效果"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"色彩效果"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"无"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"单色"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"棕褐色"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"负片"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"曝光"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"色调分离"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"白板"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"黑板"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"浅绿色"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"柔和"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"马赛克"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"偏红"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"偏蓝"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"偏绿"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"取景模式"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"取景模式"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"自动"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"运动"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"纵向"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"横向"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"夜景"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"夜景人像"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"影院"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"海滩"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"雪景"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"日落"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"防抖"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"烟火"</string>
<string name="camerasettings" msgid="2433519618178453928">"设置"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"找不到媒体。"</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"确认删除"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"媒体文件分享方式:"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"电影"</string>
<string name="loading_video" msgid="4013492720121891585">"正在载入视频..."</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"SD 卡空间不足。请更改画质设置或从图库中删除部分项。"</string>
<string name="resume_playing_title" msgid="8996677350649355013">"重新播放视频"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"从 <xliff:g id="DURATION">%s</xliff:g> 开始继续播放吗?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"重新播放"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"删除"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"取消"</string>
<string name="delete_images_message" msgid="4504926868037899430">"正在删除图片,请稍候..."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"已达到大小上限。"</string>
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 9d6b7dd..1c24ead 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -15,12 +15,9 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_error_title" msgid="1202232535191653443">"相機發生錯誤"</string>
- <string name="cannot_connect_camera" msgid="8029009101380114174">"無法連線至相機。"</string>
<string name="all_images" msgid="1195501551939178807">"所有相片"</string>
<string name="all_videos" msgid="3380966619230896013">"所有影片"</string>
<string name="camera_label" msgid="6346560772074764302">"相機"</string>
- <string name="video_camera_label" msgid="2899292505526427293">"攝錄影機"</string>
<string name="gallery_picker_label" msgid="3080425245006492787">"圖庫"</string>
<string name="gallery_label" msgid="7119609703856708011">"圖片庫"</string>
<string name="gallery_camera_bucket_name" msgid="2924618424339240831">"相機圖片"</string>
@@ -36,7 +33,6 @@
<string name="wallpaper" msgid="9222901738515471972">"設定桌布中,請稍候…"</string>
<string name="savingImage" msgid="3051745378545909260">"儲存相片中…"</string>
<string name="runningFaceDetection" msgid="2293932204708167704">"請稍候…"</string>
- <string name="settings" msgid="1534847740615665736">"設定"</string>
<string name="view" msgid="6277795271119411881">"檢視"</string>
<string name="details" msgid="8415120088556445230">"詳細資料"</string>
<string name="show_on_map" msgid="441725587731006228">"顯示在地圖上"</string>
@@ -53,14 +49,6 @@
<string name="confirm_delete_message" msgid="4161389939579284604">"刪除相片?"</string>
<string name="confirm_delete_video_message" msgid="5796154324948010221">"刪除這部影片?"</string>
<string name="confirm_delete_multiple_message" msgid="5962369828035778779">"系統將刪除這些媒體檔案。"</string>
- <string name="review_toss" msgid="7255331999518617841">"刪除"</string>
- <string name="review_share" msgid="7294755861072174509">"分享"</string>
- <string name="review_set" msgid="8304758352155378636">"設為"</string>
- <string name="review_play" msgid="6015456244323302817">"播放"</string>
- <string name="review_cancel" msgid="8188009385853399254">"取消"</string>
- <string name="review_done" msgid="5417465988786728114">"完成"</string>
- <string name="review_ok" msgid="5305096180300056529">"確定"</string>
- <string name="review_retake" msgid="7804864054896088338">"重拍"</string>
<string name="camera_toss" msgid="3781186798552460833">"刪除"</string>
<string name="camera_share" msgid="8207701858325694182">"分享"</string>
<string name="camera_set" msgid="3422192914806971182">"設為"</string>
@@ -72,7 +60,6 @@
<string name="no_way_to_share_video" msgid="3684571102267072206">"找不到可用於分享影片的應用程式。"</string>
<string name="no_way_to_share" msgid="863323712875014752">"找不到可用於分享媒體檔案的應用程式。"</string>
<string name="video_play" msgid="5287787282508002895">"播放"</string>
- <string name="camera_gallery_photos_text" msgid="6558048736561932758">"圖庫"</string>
<string name="camera_pick_wallpaper" msgid="7026385960511811641">"圖片"</string>
<string name="camera_setas_wallpaper" msgid="797463183863414289">"桌布"</string>
<string name="pref_gallery_category" msgid="5826488887237959433">"一般設定"</string>
@@ -112,82 +99,6 @@
<string name="pref_gallery_slideshow_repeat_summary" msgid="8289230397431855268">"旋環播放投影片"</string>
<string name="pref_gallery_slideshow_shuffle_title" msgid="3677508579783015598">"隨機播放投影片"</string>
<string name="pref_gallery_slideshow_shuffle_summary" msgid="8566948749149325715">"隨機顯示相片"</string>
- <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"儲存位置"</string>
- <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"關閉"</string>
- <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"開啟"</string>
- <string name="pref_camera_videoquality_title" msgid="4127153321803677407">"影片品質"</string>
- <string name="pref_camera_videoquality_entry_0" msgid="6300182041472826848">"低 (適用於多媒體簡訊)"</string>
- <string name="pref_camera_videoquality_entry_1" msgid="6742349839919099735">"高 (適用於 SD 卡)"</string>
- <string name="pref_camera_videoquality_dialogtitle" msgid="9154437474111181737">"影片品質"</string>
- <string name="pref_camera_video_duration_title" msgid="8049279326917441484">"影片長度"</string>
- <string name="pref_camera_video_duration_entry_mms" msgid="9067623003661464481">"<xliff:g id="DURATION">%1$d</xliff:g> 秒 (MMS)"</string>
- <string name="pref_camera_video_duration_entry_10" msgid="664455443394175885">"10 分鐘"</string>
- <string name="pref_camera_video_duration_entry_30" msgid="1197298883102352735">"30 分鐘"</string>
- <string name="pref_camera_video_duration_dialogtitle" msgid="5762031980003877975">"影片長度"</string>
- <string name="pref_camera_settings_category" msgid="2576236450859613120">"相機設定"</string>
- <string name="pref_camcorder_settings_category" msgid="460313486231965141">"攝錄影機設定"</string>
- <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"相片大小"</string>
- <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5 百萬像素"</string>
- <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3 百萬像素"</string>
- <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2 百萬像素"</string>
- <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1 百萬像素"</string>
- <string name="pref_camera_picturesize_dialogtitle" msgid="2741153309776113961">"相片大小"</string>
- <string name="pref_camera_jpegquality_title" msgid="6074540285403193970">"相片品質"</string>
- <string name="pref_camera_jpegquality_entry_superfine" msgid="4087830022547613205">"超精細"</string>
- <string name="pref_camera_jpegquality_entry_fine" msgid="4474043704802385370">"精細"</string>
- <string name="pref_camera_jpegquality_entry_normal" msgid="1274801937207351293">"適中"</string>
- <string name="pref_camera_jpegquality_dialogtitle" msgid="18195886066728203">"相片品質"</string>
- <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"對焦模式"</string>
- <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"自動"</string>
- <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"無限遠"</string>
- <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"微距"</string>
- <string name="pref_camera_focusmode_dialogtitle" msgid="3464580667965511167">"對焦模式"</string>
- <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"閃光模式"</string>
- <string name="pref_camera_flashmode_entry_auto" msgid="7288383434237457709">"自動"</string>
- <string name="pref_camera_flashmode_entry_on" msgid="5330043918845197616">"開啟"</string>
- <string name="pref_camera_flashmode_entry_off" msgid="867242186958805761">"關閉"</string>
- <string name="pref_camera_flashmode_dialogtitle" msgid="2824978765695177188">"閃光模式"</string>
- <string name="pref_camera_whitebalance_dialogtitle" msgid="8978388629257577909">"白平衡"</string>
- <string name="pref_camera_whitebalance_title" msgid="677420930596673340">"白平衡"</string>
- <string name="pref_camera_whitebalance_entry_auto" msgid="6580665476983469293">"自動"</string>
- <string name="pref_camera_whitebalance_entry_incandescent" msgid="8856667786449549938">"鎢絲燈"</string>
- <string name="pref_camera_whitebalance_entry_daylight" msgid="2534757270149561027">"日光"</string>
- <string name="pref_camera_whitebalance_entry_fluorescent" msgid="2435332872847454032">"螢光燈"</string>
- <string name="pref_camera_whitebalance_entry_cloudy" msgid="3531996716997959326">"陰天"</string>
- <string name="pref_camera_whitebalance_entry_twilight" msgid="2257942426397244556">"微光"</string>
- <string name="pref_camera_whitebalance_entry_shade" msgid="4685730287406277702">"陰影"</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent" msgid="2827098617308870248">"暖色螢光燈"</string>
- <string name="pref_camera_whitebalance_entry_halogen" msgid="5473868018455084929">"鹵素燈"</string>
- <string name="pref_camera_coloreffect_dialogtitle" msgid="7691751972871809763">"色彩效果"</string>
- <string name="pref_camera_coloreffect_title" msgid="4152827686267109207">"色彩效果"</string>
- <string name="pref_camera_coloreffect_entry_none" msgid="4759462740660236565">"無"</string>
- <string name="pref_camera_coloreffect_entry_mono" msgid="9068472385922288418">"單色效果"</string>
- <string name="pref_camera_coloreffect_entry_sepia" msgid="7558624061140022613">"懷舊色調"</string>
- <string name="pref_camera_coloreffect_entry_negative" msgid="1635477825533469324">"負片效果"</string>
- <string name="pref_camera_coloreffect_entry_solarize" msgid="7399297076108412329">"曝光效果"</string>
- <string name="pref_camera_coloreffect_entry_posterize" msgid="8596847197608350695">"色調分離"</string>
- <string name="pref_camera_coloreffect_entry_whiteboard" msgid="8161550096887765100">"白板效果"</string>
- <string name="pref_camera_coloreffect_entry_blackboard" msgid="4149918495221278960">"黑板效果"</string>
- <string name="pref_camera_coloreffect_entry_aqua" msgid="224075791902166343">"水底效果"</string>
- <string name="pref_camera_coloreffect_entry_pastel" msgid="1263931790863509482">"粉蠟筆效果"</string>
- <string name="pref_camera_coloreffect_entry_mosaic" msgid="1756287704236443515">"馬賽克效果"</string>
- <string name="pref_camera_coloreffect_entry_redtint" msgid="6646299498728138294">"紅色調"</string>
- <string name="pref_camera_coloreffect_entry_bluetint" msgid="918696074928692967">"藍色調"</string>
- <string name="pref_camera_coloreffect_entry_greentint" msgid="9080254097150221320">"綠色調"</string>
- <string name="pref_camera_scenemode_title" msgid="1420535844292504016">"場景模式"</string>
- <string name="pref_camera_scenemode_dialogtitle" msgid="299486172171669009">"場景模式"</string>
- <string name="pref_camera_scenemode_entry_auto" msgid="7113995286836658648">"自動"</string>
- <string name="pref_camera_scenemode_entry_action" msgid="616748587566110484">"動態"</string>
- <string name="pref_camera_scenemode_entry_portrait" msgid="9140929538393384095">"人像"</string>
- <string name="pref_camera_scenemode_entry_landscape" msgid="405417518823973264">"風景"</string>
- <string name="pref_camera_scenemode_entry_night" msgid="7606898503102476329">"夜景"</string>
- <string name="pref_camera_scenemode_entry_night_portrait" msgid="5244280874913294746">"夜間人像"</string>
- <string name="pref_camera_scenemode_entry_theatre" msgid="3123861130799840901">"劇院"</string>
- <string name="pref_camera_scenemode_entry_beach" msgid="5163939340224174481">"海灘"</string>
- <string name="pref_camera_scenemode_entry_snow" msgid="2110494623725511788">"雪景"</string>
- <string name="pref_camera_scenemode_entry_sunset" msgid="181661154611507212">"黃昏"</string>
- <string name="pref_camera_scenemode_entry_steadyphoto" msgid="2147958278893914895">"防手震"</string>
- <string name="pref_camera_scenemode_entry_fireworks" msgid="3530608172188797432">"煙火"</string>
<string name="camerasettings" msgid="2433519618178453928">"設定"</string>
<string name="image_gallery_NoImageView_text" msgid="409595259802877447">"找不到媒體。"</string>
<string name="pref_gallery_confirm_delete_title" msgid="642429032687845907">"刪除確認"</string>
@@ -228,7 +139,6 @@
<string name="send_media_files" msgid="8201083279723850611">"媒體檔案分享媒介:"</string>
<string name="movieviewlabel" msgid="7363495772706775465">"電影"</string>
<string name="loading_video" msgid="4013492720121891585">"正在載入影片…"</string>
- <string name="spaceIsLow_content" msgid="2848517537672543641">"您的 SD 卡空間已快用完。請變更品質設定或刪除圖庫中的項目。"</string>
<string name="resume_playing_title" msgid="8996677350649355013">"繼續播放影片"</string>
<string name="resume_playing_message" msgid="7293000708492271389">"要從 <xliff:g id="DURATION">%s</xliff:g> 繼續播放嗎?"</string>
<string name="resume_playing_resume" msgid="3847915469173852416">"繼續播放"</string>
@@ -240,5 +150,4 @@
<string name="multiselect_delete" msgid="9113461994546744603">"刪除"</string>
<string name="multiselect_cancel" msgid="5969428692864002165">"取消"</string>
<string name="delete_images_message" msgid="4504926868037899430">"正在刪除圖片,請稍候..."</string>
- <string name="video_reach_size_limit" msgid="6179877322015552390">"已達大小上限。"</string>
</resources>
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
deleted file mode 100644
index 026ed71..0000000
--- a/res/values/arrays.xml
+++ /dev/null
@@ -1,270 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- -->
-
-<resources>
- <!-- Camera Preferences Video Quality dialog box entries -->
- <string-array name="pref_camera_videoquality_entries" translatable="false">
- <item>@string/pref_camera_videoquality_entry_0</item>
- <item>@string/pref_camera_videoquality_entry_1</item>
- </string-array>
-
- <string-array name="pref_camera_videoquality_entryvalues" translatable="false">
- <item>0</item>
- <item>1</item>
- </string-array>
-
- <!-- Camera Preferences Video Duration dialog box entries -->
- <string-array name="pref_camera_video_duration_entries" translatable="false">
- <item>@string/pref_camera_video_duration_entry_mms</item>
- <item>@string/pref_camera_video_duration_entry_10</item>
- <item>@string/pref_camera_video_duration_entry_30</item>
- </string-array>
-
- <!-- The numbers are in minutes, except -1 means the duration suitable for mms. -->
- <string-array name="pref_camera_video_duration_entryvalues" translatable="false">
- <item>-1</item>
- <item>10</item>
- <item>30</item>
- </string-array>
-
- <!-- Camera Preferences Picture size dialog box entries -->
- <string-array name="pref_camera_picturesize_entries" translatable="false">
- <!-- TODO: Change to a better name of the preference.
- The first element of the array sould be
- "pref_camera_picturesize_entry_2592x1944". However, we are too
- late for the translation. Since we show the same label as the
- second item, we just use the second one instead.
- -->
- <item>@string/pref_camera_picturesize_entry_2592x1936</item>
- <item>@string/pref_camera_picturesize_entry_2592x1936</item>
- <item>@string/pref_camera_picturesize_entry_2048x1536</item>
- <item>@string/pref_camera_picturesize_entry_1600x1200</item>
- <item>@string/pref_camera_picturesize_entry_1024x768</item>
- </string-array>
-
- <!-- When launching the camera app first time, we will set the picture
- size to the first one in the list that is also supported by the
- driver -->
- <string-array name="pref_camera_picturesize_entryvalues" translatable="false">
- <item>2592x1944</item>
- <item>2592x1936</item>
- <item>2048x1536</item>
- <item>1600x1200</item>
- <item>1024x768</item>
- </string-array>
-
- <!-- Camera Preferences JPEG quality dialog box entries -->
- <string-array name="pref_camera_jpegquality_entries" translatable="false">
- <item>@string/pref_camera_jpegquality_entry_superfine</item>
- <item>@string/pref_camera_jpegquality_entry_fine</item>
- <item>@string/pref_camera_jpegquality_entry_normal</item>
- </string-array>
-
- <string-array name="pref_camera_jpegquality_entryvalues" translatable="false">
- <item>85</item>
- <item>75</item>
- <item>65</item>
- </string-array>
-
- <!-- Camera Preferences focus mode dialog box entries -->
- <string-array name="pref_camera_focusmode_entries" translatable="false">
- <item>@string/pref_camera_focusmode_entry_auto</item>
- <item>@string/pref_camera_focusmode_entry_infinity</item>
- <item>@string/pref_camera_focusmode_entry_macro</item>
- </string-array>
-
- <string-array name="pref_camera_focusmode_entryvalues" translatable="false">
- <item>auto</item>
- <item>infinity</item>
- <item>macro</item>
- </string-array>
-
- <array name="pref_camera_focusmode_icons" translatable="false">
- <item>@drawable/ic_viewfinder_empty</item>
- <item>@drawable/ic_viewfinder_focus_infinity</item>
- <item>@drawable/ic_viewfinder_focus_macro</item>
- </array>
-
- <array name="focusmode_icons">
- <item>@drawable/ic_viewfinder_empty</item>
- <item>@drawable/ic_viewfinder_focus_infinity</item>
- <item>@drawable/ic_viewfinder_focus_macro</item>
- </array>
-
- <!-- Camera Preferences flash mode dialog box entries -->
- <string-array name="pref_camera_flashmode_entries" translatable="false">
- <item>@string/pref_camera_flashmode_entry_auto</item>
- <item>@string/pref_camera_flashmode_entry_on</item>
- <item>@string/pref_camera_flashmode_entry_off</item>
- </string-array>
-
- <string-array name="pref_camera_flashmode_entryvalues" translatable="false">
- <item>auto</item>
- <item>on</item>
- <item>off</item>
- </string-array>
-
- <array name="pref_camera_flashmode_icons">
- <item>@drawable/ic_viewfinder_flash_auto</item>
- <item>@drawable/ic_viewfinder_flash_on</item>
- <item>@drawable/ic_viewfinder_flash_off</item>
- </array>
-
- <string-array name="pref_camera_recordlocation_entryvalues" translatable="false">
- <item>false</item>
- <item>true</item>
- </string-array>
-
- <array name="pref_camera_recordlocation_entries" translatable="false">
- <item>@string/pref_camera_recordlocation_entry_off</item>
- <item>@string/pref_camera_recordlocation_entry_on</item>
- </array>
-
- <string-array name="flash_modes" translatable="false">
- <item>auto</item>
- <item>on</item>
- <item>off</item>
- <item>no_flash</item>
- </string-array>
-
- <array name="flash_icons">
- <item>@drawable/ic_viewfinder_flash_auto</item>
- <item>@drawable/ic_viewfinder_flash_on</item>
- <item>@drawable/ic_viewfinder_flash_off</item>
- <item>@drawable/ic_viewfinder_empty</item>
- </array>
-
- <string-array name="gps_modes" translatable="false">
- <item>off</item>
- <item>on</item>
- </string-array>
-
- <array name="gps_icons">
- <item>0</item>
- <item>@drawable/ic_camera_sym_gps</item>
- </array>
-
- <!-- Camera Preferences White Balance dialog box entries -->
- <string-array name="pref_camera_whitebalance_entries" translatable="false">
- <item>@string/pref_camera_whitebalance_entry_auto</item>
- <item>@string/pref_camera_whitebalance_entry_incandescent</item>
- <item>@string/pref_camera_whitebalance_entry_daylight</item>
- <item>@string/pref_camera_whitebalance_entry_fluorescent</item>
- <item>@string/pref_camera_whitebalance_entry_cloudy</item>
- </string-array>
-
- <string-array name="pref_camera_whitebalance_entryvalues" translatable="false">
- <item>auto</item>
- <item>incandescent</item>
- <item>daylight</item>
- <item>fluorescent</item>
- <item>cloudy</item>
- </string-array>
-
- <array name="pref_camera_whitebalance_icons">
- <item>@drawable/ic_viewfinder_empty</item>
- <item>@drawable/ic_viewfinder_wb_incandescent</item>
- <item>@drawable/ic_viewfinder_wb_daylight</item>
- <item>@drawable/ic_viewfinder_wb_fluorescent</item>
- <item>@drawable/ic_viewfinder_wb_cloudy</item>
- </array>
-
- <array name="whitebalance_icons">
- <item>@drawable/ic_viewfinder_empty</item>
- <item>@drawable/ic_viewfinder_wb_incandescent</item>
- <item>@drawable/ic_viewfinder_wb_daylight</item>
- <item>@drawable/ic_viewfinder_wb_fluorescent</item>
- <item>@drawable/ic_viewfinder_wb_cloudy</item>
- </array>
-
- <!-- Camera Preferences Color effect dialog box entries -->
- <string-array name="pref_camera_coloreffect_entries" translatable="false">
- <item>@string/pref_camera_coloreffect_entry_none</item>
- <item>@string/pref_camera_coloreffect_entry_mono</item>
- <item>@string/pref_camera_coloreffect_entry_sepia</item>
- <item>@string/pref_camera_coloreffect_entry_negative</item>
- <item>@string/pref_camera_coloreffect_entry_solarize</item>
- <item>@string/pref_camera_coloreffect_entry_posterize</item>
- <item>@string/pref_camera_coloreffect_entry_whiteboard</item>
- <item>@string/pref_camera_coloreffect_entry_blackboard</item>
- <item>@string/pref_camera_coloreffect_entry_aqua</item>
- <item>@string/pref_camera_coloreffect_entry_pastel</item>
- <item>@string/pref_camera_coloreffect_entry_mosaic</item>
- <item>@string/pref_camera_coloreffect_entry_redtint</item>
- <item>@string/pref_camera_coloreffect_entry_bluetint</item>
- <item>@string/pref_camera_coloreffect_entry_greentint</item>
- </string-array>
-
- <string-array name="pref_camera_coloreffect_entryvalues" translatable="false">
- <item>none</item>
- <item>mono</item>
- <item>sepia</item>
- <item>negative</item>
- <item>solarize</item>
- <item>posterize</item>
- <item>whiteboard</item>
- <item>blackboard</item>
- <item>aqua</item>
- <item>pastel</item>
- <item>mosaic</item>
- <item>red-tint</item>
- <item>blue-tint</item>
- <item>green-tint</item>
- </string-array>
-
- <!-- Camera Preferences Scene Mode dialog box entries -->
- <string-array name="pref_camera_scenemode_entries" translatable="false">
- <item>@string/pref_camera_scenemode_entry_auto</item>
- <item>@string/pref_camera_scenemode_entry_action</item>
- <item>@string/pref_camera_scenemode_entry_portrait</item>
- <item>@string/pref_camera_scenemode_entry_landscape</item>
- <item>@string/pref_camera_scenemode_entry_night</item>
- <item>@string/pref_camera_scenemode_entry_night_portrait</item>
- <item>@string/pref_camera_scenemode_entry_theatre</item>
- <item>@string/pref_camera_scenemode_entry_beach</item>
- <item>@string/pref_camera_scenemode_entry_snow</item>
- <item>@string/pref_camera_scenemode_entry_sunset</item>
- <item>@string/pref_camera_scenemode_entry_steadyphoto</item>
- <item>@string/pref_camera_scenemode_entry_fireworks</item>
- </string-array>
-
- <string-array name="pref_camera_scenemode_entryvalues" translatable="false">
- <item>auto</item>
- <item>action</item>
- <item>portrait</item>
- <item>landscape</item>
- <item>night</item>
- <item>night-portrait</item>
- <item>theatre</item>
- <item>beach</item>
- <item>snow</item>
- <item>sunset</item>
- <item>steadyphoto</item>
- <item>fireworks</item>
- </string-array>
-
- <string-array name="scenemode_modes" translatable="false">
- <item>off</item>
- <item>on</item>
- </string-array>
-
- <array name="scenemode_icons">
- <item>@drawable/ic_viewfinder_empty</item>
- <item>@drawable/ic_viewfinder_scenemode</item>
- </array>
-
-</resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 5d0a93c..2fc909e 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -19,6 +19,4 @@
-->
<resources>
<color name="bubble_dark_background">#B2191919</color>
- <color name="recording_time_elapsed_text">#FFFFFFFF</color>
- <color name="recording_time_remaining_text">#FFFF0033</color>
</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
deleted file mode 100644
index 5ec105b..0000000
--- a/res/values/dimens.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/* //device/apps/common/assets/res/any/dimens.xml
-**
-** Copyright 2009, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <dimen name="hint_y_offset">64dip</dimen>
-</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 3289d5a..09aff21 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -17,12 +17,6 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- General strings -->
- <!-- title for the dialog showing the error of camera hardware -->
- <string name="camera_error_title">Camera Error</string>
-
- <!-- message for the dialog showing the error of camera hardware -->
- <string name="cannot_connect_camera">Cannot connect to camera.</string>
-
<!-- label for the icon meaning 'show me all the images' -->
<string name="all_images">All pictures</string>
@@ -32,9 +26,6 @@
<!-- label for the icon meaning 'show me all the images that were taken with the camera' -->
<string name="camera_label">Camera</string>
- <!-- label for the 'video recording application shown in the top level 'all applications' -->
- <string name="video_camera_label">Camcorder</string>
-
<!-- label for the 'pictures application shown in the top level 'all applications' -->
<string name="gallery_picker_label">Gallery</string>
@@ -85,9 +76,6 @@
<!-- Menu items: -->
- <!-- menu pick to go to the settings screen -->
- <string name="settings">Settings</string>
-
<!-- menu pick to view the currently selected image -->
<string name="view">View</string>
@@ -132,30 +120,6 @@
<!-- Confirmation dialog message after deleting a multiple media files -->
<string name="confirm_delete_multiple_message">These media files will be deleted.</string>
- <!-- button in review mode indicating that the picture just taken should be deleted -->
- <string name="review_toss">DELETE</string>
-
- <!-- button in review mode indicating that the picture just taken are going to shared by email, mms, etc -->
- <string name="review_share">SHARE</string>
-
- <!-- button in review mode indicating that the picture just taken should be set as a contact photo, wallpaper, etc -->
- <string name="review_set">SET AS</string>
-
- <!-- button in review mode indicating that the video just taken should be played -->
- <string name="review_play">PLAY</string>
-
- <!-- button in review mode indicating that the video recording session should be canceled -->
- <string name="review_cancel">CANCEL</string>
-
- <!-- button in review mode indicating that the the review activity should be finished -->
- <string name="review_done">DONE</string>
-
- <!-- button in review mode indicating that the taken video is OK to be attached/uploaded -->
- <string name="review_ok">OK</string>
-
- <!-- button in review mode indicate the user want to retake another picture for attachment -->
- <string name="review_retake">RETAKE</string>
-
<!-- button indicating that the picture just taken should be deleted -->
<string name="camera_toss">Delete</string>
@@ -189,9 +153,6 @@
<!-- Menu item for playing the video. -->
<string name="video_play">Play</string>
- <!-- Button indicating to go to the image gallery -->
- <string name="camera_gallery_photos_text">Gallery</string>
-
<!-- String indicating an action of picking a picture to use as wallpaper (e.g. set wallpaper from "Pictures") -->
<string name="camera_pick_wallpaper">Pictures</string>
<string name="camera_setas_wallpaper">Wallpaper</string>
@@ -306,185 +267,6 @@
<!-- Settings screen, setting summary text -->
<string name="pref_gallery_slideshow_shuffle_summary">Show pictures in random order</string>
- <!-- Settings screen, setting title text -->
- <string name="pref_camera_recordlocation_title">Store location</string>
-
- <string name="pref_camera_recordlocation_default" translatable="false">false</string>
-
- <!-- Settings screen, Record location dialog choices -->
- <string name="pref_camera_recordlocation_entry_off">Off</string>
- <string name="pref_camera_recordlocation_entry_on">On</string>
-
- <!-- Default video quality setting. A numerical value. -->
- <string name="pref_camera_videoquality_default" translatable="false">1</string>
-
- <!-- Settings screen, Video quality title -->
- <string name="pref_camera_videoquality_title">Video quality</string>
-
- <!-- Settings screen, Video quality dialog radio button choices -->
- <string name="pref_camera_videoquality_entry_0">Low (for MMS messages)</string>
- <string name="pref_camera_videoquality_entry_1">High (for SD card)</string>
-
- <!-- Settings screen, Video codec dialog title -->
- <string name="pref_camera_videoquality_dialogtitle">Video quality</string>
-
- <!-- Default video duration setting. A numerical value.-->
- <string name="pref_camera_video_duration_default" translatable="false">10</string>
-
- <!-- Settings screen, Video duration title -->
- <string name="pref_camera_video_duration_title">Video duration</string>
-
- <!-- Settings screen, Video duration dialog radio button choices -->
- <string name="pref_camera_video_duration_entry_mms">
- <xliff:g id="duration" example="60">%1$d</xliff:g> seconds (for MMS)
- </string>
- <string name="pref_camera_video_duration_entry_10">10 minutes</string>
- <string name="pref_camera_video_duration_entry_30">30 minutes</string>
-
- <!-- Settings screen, Video duration dialog title -->
- <string name="pref_camera_video_duration_dialogtitle">Video duration</string>
-
- <!-- Settings screen, Camera setting category title -->
- <string name="pref_camera_settings_category">Camera settings</string>
-
- <!-- Settings screen, Camcorder setting category title -->
- <string name="pref_camcorder_settings_category">Camcorder settings</string>
-
- <!-- Settings screen, Picture size title -->
- <string name="pref_camera_picturesize_title">Picture size</string>
-
- <!-- Settings screen, Picture size dialog radio button choices -->
- <string name="pref_camera_picturesize_entry_2592x1936">5M Pixels</string>
- <string name="pref_camera_picturesize_entry_2048x1536">3M Pixels</string>
- <string name="pref_camera_picturesize_entry_1600x1200">2M Pixels</string>
- <string name="pref_camera_picturesize_entry_1024x768">1M Pixels</string>
-
- <!-- Settings screen, picture size dialog title -->
- <string name="pref_camera_picturesize_dialogtitle">Picture size</string>
-
- <!-- Default picture quality setting.-->
- <string name="pref_camera_jpegquality_default" translatable="false">85</string>
-
- <!-- Settings screen, Picture quality title -->
- <string name="pref_camera_jpegquality_title">Picture quality</string>
-
- <!-- Settings screen, Picture quality dialog radio button choices -->
- <string name="pref_camera_jpegquality_entry_superfine">Super fine</string>
- <string name="pref_camera_jpegquality_entry_fine">Fine</string>
- <string name="pref_camera_jpegquality_entry_normal">Normal</string>
-
- <!-- Settings screen, picture quality dialog title -->
- <string name="pref_camera_jpegquality_dialogtitle">Picture quality</string>
-
- <!-- Default focus mode setting.-->
- <string name="pref_camera_focusmode_default" translatable="false">auto</string>
-
- <!-- Settings screen, Focus mode title -->
- <string name="pref_camera_focusmode_title">Focus mode</string>
-
- <!-- Settings screen, Focue mode dialog radio button choices -->
- <string name="pref_camera_focusmode_entry_auto">Auto</string>
- <string name="pref_camera_focusmode_entry_infinity">Infinity</string>
- <string name="pref_camera_focusmode_entry_macro">Macro</string>
-
- <!-- Settings screen, focus mode dialog title -->
- <string name="pref_camera_focusmode_dialogtitle">Focus mode</string>
-
- <!-- Default flash mode setting.-->
- <string name="pref_camera_flashmode_default" translatable="false">auto</string>
-
- <!-- Settings screen, Flash mode title -->
- <string name="pref_camera_flashmode_title">Flash mode</string>
-
- <!-- Settings screen, Focue mode dialog radio button choices -->
- <string name="pref_camera_flashmode_entry_auto">Auto</string>
- <string name="pref_camera_flashmode_entry_on">On</string>
- <string name="pref_camera_flashmode_entry_off">Off</string>
-
- <!-- Settings screen, flash mode dialog title -->
- <string name="pref_camera_flashmode_dialogtitle">Flash mode</string>
-
- <!-- Default white balance setting. -->
- <string name="pref_camera_whitebalance_default" translatable="false">auto</string>
-
- <!-- Settings screen, white balance dialog title -->
- <string name="pref_camera_whitebalance_dialogtitle">White balance</string>
-
- <!-- Settings screen, white balance title -->
- <string name="pref_camera_whitebalance_title">White balance</string>
-
- <!-- Settings screen, White balance dialog radio button choices -->
- <string name="pref_camera_whitebalance_entry_auto">Auto</string>
- <string name="pref_camera_whitebalance_entry_incandescent">Incandescent</string>
- <string name="pref_camera_whitebalance_entry_daylight">Daylight</string>
- <string name="pref_camera_whitebalance_entry_fluorescent">Fluorescent</string>
- <string name="pref_camera_whitebalance_entry_cloudy">Cloudy</string>
- <string name="pref_camera_whitebalance_entry_twilight">Twilight</string>
- <string name="pref_camera_whitebalance_entry_shade">Shade</string>
- <string name="pref_camera_whitebalance_entry_warm_fluorescent">Warm Fluorescent</string>
- <!-- Manual white-balance for very bright and yellowish light. -->
- <string name="pref_camera_whitebalance_entry_halogen">Halogen</string>
-
- <!-- Settings screen, color effect dialog title -->
- <string name="pref_camera_coloreffect_dialogtitle">Color effect</string>
-
- <!-- Default color effect setting. -->
- <string name="pref_camera_coloreffect_default" translatable="false">none</string>
-
- <!-- Settings screen, Select Color effect title -->
- <string name="pref_camera_coloreffect_title">Color effect</string>
-
- <!-- Settings screen, Color effect dialog radio button choices -->
- <string name="pref_camera_coloreffect_entry_none">None</string>
- <string name="pref_camera_coloreffect_entry_mono">Mono</string>
- <string name="pref_camera_coloreffect_entry_sepia">Sepia</string>
- <string name="pref_camera_coloreffect_entry_negative">Negative</string>
- <!-- Color effect that overexposes and reverses some of the tones. -->
- <string name="pref_camera_coloreffect_entry_solarize">Solarize</string>
- <string name="pref_camera_coloreffect_entry_posterize">Posterize</string>
- <string name="pref_camera_coloreffect_entry_whiteboard">Whiteboard</string>
- <string name="pref_camera_coloreffect_entry_blackboard">Blackboard</string>
- <string name="pref_camera_coloreffect_entry_aqua">Aqua</string>
- <string name="pref_camera_coloreffect_entry_pastel">Pastel</string>
- <string name="pref_camera_coloreffect_entry_mosaic">Mosaic</string>
- <string name="pref_camera_coloreffect_entry_redtint">Red Tint</string>
- <string name="pref_camera_coloreffect_entry_bluetint">Blue Tint</string>
- <string name="pref_camera_coloreffect_entry_greentint">Green Tint</string>
-
- <!-- Default scene mode setting. -->
- <string name="pref_camera_scenemode_default" translatable="false">auto</string>
-
- <!-- Settings screen, Select Scene mode -->
- <string name="pref_camera_scenemode_title">Scene mode</string>
-
- <!-- Settings screen, Select Scene mode -->
- <string name="pref_camera_scenemode_dialogtitle">Scene mode</string>
-
- <!-- Settings menu, scene mode choices -->
- <string name="pref_camera_scenemode_entry_auto">Auto</string>
- <!-- Scene mode that takes an image quickly with little motion blur. -->
- <string name="pref_camera_scenemode_entry_action">Action</string>
- <!-- Scene mode that takes an image with as little noise as possible so details of the subject are maintained. -->
- <string name="pref_camera_scenemode_entry_portrait">Portrait</string>
- <!-- Scene mode that takes an image of a landscape assuming all subjects are relatively far from the phone. -->
- <string name="pref_camera_scenemode_entry_landscape">Landscape</string>
- <!-- Scene mode that takes long exposures to capture night scenes without flash. -->
- <string name="pref_camera_scenemode_entry_night">Night</string>
- <!-- Scene mode that takes night shots with long exposure and flash to illuminate the subject while still capturing darker detail in the background. -->
- <string name="pref_camera_scenemode_entry_night_portrait">Night Portrait</string>
- <!-- Scene mode to be used in a stage show. -->
- <string name="pref_camera_scenemode_entry_theatre">Theatre</string>
- <!-- Scene mode optimized for taking images on the beach. -->
- <string name="pref_camera_scenemode_entry_beach">Beach</string>
- <!-- Scene mode optimized for taking images in the snow. -->
- <string name="pref_camera_scenemode_entry_snow">Snow</string>
- <!-- Scene mode optimized for taking images in the sunset. -->
- <string name="pref_camera_scenemode_entry_sunset">Sunset</string>
- <!-- Scene mode for taking a photo as sharp as possible. -->
- <string name="pref_camera_scenemode_entry_steadyphoto">Steady Photo</string>
- <!-- Scene mode optimized for taking images of fireworks. -->
- <string name="pref_camera_scenemode_entry_fireworks">Fireworks</string>
-
<!-- Menu item to go to the settings screen -->
<string name="camerasettings">Settings</string>
@@ -498,19 +280,6 @@
<!-- Preference summary for whether the user should be prompted form confirmation when deleting images -->
<string name="pref_gallery_confirm_delete_summary">Show confirmation before deleting a picture or video</string>
- <!-- Details stuff -->
- <string name="details_title_text" translatable="false">myvideo</string>
- <string name="details_tags_text" translatable="false">monster</string>
- <string name="details_category_label" translatable="false">Category:</string>
- <string name="details_description_label" translatable="false">Description:</string>
- <string name="details_publicView_text" translatable="false">Public</string>
- <string name="details_tags_label" translatable="false">Tags:</string>
- <string name="details_description_text" translatable="false">testdescription</string>
- <string name="details_title_label" translatable="false">Title:</string>
- <string name="details_save_text" translatable="false">Save</string>
- <string name="details_language_label" translatable="false">Language:</string>
- <string name="details_privateView_text" translatable="false">Private</string>
-
<!-- Message to show when there's no lat/lng information in the image -->
<string name="no_location_image">No Location information contained in this image.</string>
<!-- Title of Details dialog -->
@@ -599,9 +368,6 @@
<!-- shown in the video player view while the video is being loaded, before it starts playing -->
<string name="loading_video">Loading video\u2026</string>
- <!-- Low-memory dialog message -->
- <string name="spaceIsLow_content">Your SD card is running out of space. Change the quality setting or delete items from Gallery.</string>
-
<!-- Movie View Resume Playing dialog title -->
<string name="resume_playing_title">Resume video</string>
@@ -617,9 +383,6 @@
<!-- Title for picture frame gadget to show in list of all available gadgets -->
<string name="gadget_title">Picture frame</string>
- <!-- Video Camera format string for new video files. Passed to java.text.SimpleDateFormat. -->
- <string name="video_file_name_format" translatable="false">"'video'-yyyy-MM-dd-HH-mm-ss"</string>
-
<!-- Title for the file information dialog -->
<string name="file_info_title">File info:</string>
@@ -637,8 +400,4 @@
<!-- The messsage shown on progress dialog when deleting images -->
<string name="delete_images_message">Deleting images, please wait\u2026</string>
-
- <!-- The messsage shown when video record reaches size limit. -->
- <string name="video_reach_size_limit">Size limit reached.</string>
-
</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index ae5d16a..475dc95 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -18,24 +18,6 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <style name="OnScreenHintTextAppearance">
- <item name="android:textColor">@android:color/primary_text_dark</item>
- <item name="android:textColorHighlight">#FFFF9200</item>
- <item name="android:textColorHint">#808080</item>
- <item name="android:textColorLink">#5C5CFF</item>
- <item name="android:textSize">16sp</item>
- <item name="android:textStyle">normal</item>
- </style>
- <style name="OnScreenHintTextAppearance.Small">
- <item name="android:textSize">14sp</item>
- <item name="android:textStyle">normal</item>
- <item name="android:textColor">@android:color/secondary_text_dark</item>
- </style>
- <style name="Animation" />
- <style name="Animation.OnScreenHint">
- <item name="android:windowEnterAnimation">@anim/on_screen_hint_enter</item>
- <item name="android:windowExitAnimation">@anim/on_screen_hint_exit</item>
- </style>
<style name="OnscreenActionIcon">
<item name="android:focusable">false</item>
<item name="android:clickable">true</item>
@@ -50,40 +32,6 @@
<item name="android:layout_height">wrap_content</item>
<item name="android:drawablePadding">3dip</item>
</style>
- <style name="ReviewControlText">
- <item name="android:textSize">12sp</item>
- <item name="android:gravity">center</item>
- <item name="android:ellipsize">end</item>
- <item name="android:maxLines">2</item>
- <item name="android:layout_width">fill_parent</item>
- <item name="android:layout_height">wrap_content</item>
- </style>
- <style name="ReviewControlIcon">
- <item name="android:layout_height">wrap_content</item>
- <item name="android:layout_width">wrap_content</item>
- <item name="android:scaleType">center</item>
- <item name="android:clickable">true</item>
- <item name="android:focusable">true</item>
- <item name="android:background">@drawable/btn_camera_review</item>
- </style>
- <style name="ReviewControlGroup">
- <item name="android:orientation">vertical</item>
- <item name="android:gravity">top|center_horizontal</item>
- <item name="android:layout_height">wrap_content</item>
- <item name="android:layout_width">fill_parent</item>
- </style>
<style name="Theme.DeleteImageDialog" parent="android:style/Theme.Dialog.Alert">
</style>
- <style name="NoEnterExitAnimation">
- <item name="android:windowEnterAnimation">@null</item>
- <item name="android:windowExitAnimation">@null</item>
- </style>
- <style name="CustomTheme"
- parent="@android:style/Theme.Black.NoTitleBar.Fullscreen">
- <item name="android:windowAnimationStyle">@style/NoEnterExitAnimation</item>
- </style>
- <style name="Animation_OnScreenMenu">
- <item name="android:windowEnterAnimation">@anim/on_screen_menu_appear</item>
- <item name="android:windowExitAnimation">@anim/on_screen_menu_disappear</item>
- </style>
</resources>
diff --git a/res/xml/camera_preferences.xml b/res/xml/camera_preferences.xml
deleted file mode 100644
index 62a9f8f..0000000
--- a/res/xml/camera_preferences.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:camera="http://schemas.android.com/apk/res/com.android.gallery">
- <PreferenceCategory android:title="@string/pref_camera_settings_category">
- <com.android.camera.IconListPreference
- android:key="pref_camera_flashmode_key"
- android:defaultValue="@string/pref_camera_flashmode_default"
- android:title="@string/pref_camera_flashmode_title"
- camera:icons="@array/pref_camera_flashmode_icons"
- android:entries="@array/pref_camera_flashmode_entries"
- android:entryValues="@array/pref_camera_flashmode_entryvalues"
- android:dialogTitle="@string/pref_camera_flashmode_dialogtitle" />
- <ListPreference
- android:key="pref_camera_scenemode_key"
- android:defaultValue="@string/pref_camera_scenemode_default"
- android:title="@string/pref_camera_scenemode_title"
- android:entries="@array/pref_camera_scenemode_entries"
- android:entryValues="@array/pref_camera_scenemode_entryvalues"
- android:dialogTitle="@string/pref_camera_scenemode_dialogtitle" />
- <com.android.camera.IconListPreference
- android:key="pref_camera_whitebalance_key"
- android:defaultValue="@string/pref_camera_whitebalance_default"
- android:title="@string/pref_camera_whitebalance_title"
- camera:icons="@array/pref_camera_whitebalance_icons"
- android:entries="@array/pref_camera_whitebalance_entries"
- android:entryValues="@array/pref_camera_whitebalance_entryvalues"
- android:dialogTitle="@string/pref_camera_whitebalance_dialogtitle" />
- <ListPreference
- android:key="pref_camera_coloreffect_key"
- android:defaultValue="@string/pref_camera_coloreffect_default"
- android:title="@string/pref_camera_coloreffect_title"
- android:entries="@array/pref_camera_coloreffect_entries"
- android:entryValues="@array/pref_camera_coloreffect_entryvalues"
- android:dialogTitle="@string/pref_camera_coloreffect_dialogtitle" />
- <com.android.camera.BooleanListPreference
- android:key="pref_camera_recordlocation_key"
- android:defaultValue="@string/pref_camera_recordlocation_default"
- android:title="@string/pref_camera_recordlocation_title"
- android:entries="@array/pref_camera_recordlocation_entries"
- android:entryValues="@array/pref_camera_recordlocation_entryvalues" />
- <ListPreference
- android:key="pref_camera_picturesize_key"
- android:title="@string/pref_camera_picturesize_title"
- android:entries="@array/pref_camera_picturesize_entries"
- android:entryValues="@array/pref_camera_picturesize_entryvalues"
- android:dialogTitle="@string/pref_camera_picturesize_dialogtitle" />
- <ListPreference
- android:key="pref_camera_jpegquality_key"
- android:defaultValue="@string/pref_camera_jpegquality_default"
- android:title="@string/pref_camera_jpegquality_title"
- android:entries="@array/pref_camera_jpegquality_entries"
- android:entryValues="@array/pref_camera_jpegquality_entryvalues"
- android:dialogTitle="@string/pref_camera_jpegquality_dialogtitle" />
- <com.android.camera.IconListPreference
- android:key="pref_camera_focusmode_key"
- android:defaultValue="@string/pref_camera_focusmode_default"
- android:title="@string/pref_camera_focusmode_title"
- camera:icons="@array/pref_camera_focusmode_icons"
- android:entries="@array/pref_camera_focusmode_entries"
- android:entryValues="@array/pref_camera_focusmode_entryvalues"
- android:dialogTitle="@string/pref_camera_focusmode_dialogtitle" />
- </PreferenceCategory>
-</PreferenceScreen>
diff --git a/res/xml/video_preferences.xml b/res/xml/video_preferences.xml
deleted file mode 100644
index 3617f79..0000000
--- a/res/xml/video_preferences.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
- <PreferenceCategory
- android:title="@string/pref_camcorder_settings_category">
- <ListPreference
- android:key="pref_camera_videoquality_key"
- android:defaultValue="@string/pref_camera_videoquality_default"
- android:title="@string/pref_camera_videoquality_title"
- android:entries="@array/pref_camera_videoquality_entries"
- android:entryValues="@array/pref_camera_videoquality_entryvalues"
- android:dialogTitle="@string/pref_camera_videoquality_dialogtitle" />
- <ListPreference
- android:key="pref_camera_video_duration_key"
- android:defaultValue="@string/pref_camera_video_duration_default"
- android:title="@string/pref_camera_video_duration_title"
- android:entries="@array/pref_camera_video_duration_entries"
- android:entryValues="@array/pref_camera_video_duration_entryvalues"
- android:dialogTitle="@string/pref_camera_video_duration_dialogtitle" />
- <ListPreference
- android:key="pref_camera_whitebalance_key"
- android:defaultValue="@string/pref_camera_whitebalance_default"
- android:title="@string/pref_camera_whitebalance_title"
- android:entries="@array/pref_camera_whitebalance_entries"
- android:entryValues="@array/pref_camera_whitebalance_entryvalues"
- android:dialogTitle="@string/pref_camera_whitebalance_dialogtitle" />
- <ListPreference
- android:key="pref_camera_coloreffect_key"
- android:defaultValue="@string/pref_camera_coloreffect_default"
- android:title="@string/pref_camera_coloreffect_title"
- android:entries="@array/pref_camera_coloreffect_entries"
- android:entryValues="@array/pref_camera_coloreffect_entryvalues"
- android:dialogTitle="@string/pref_camera_coloreffect_dialogtitle" />
- </PreferenceCategory>
-</PreferenceScreen>
diff --git a/src/com/android/camera/BooleanListPreference.java b/src/com/android/camera/BooleanListPreference.java
deleted file mode 100644
index e04709f..0000000
--- a/src/com/android/camera/BooleanListPreference.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-import android.content.Context;
-import android.preference.ListPreference;
-import android.util.AttributeSet;
-
-/** {@code BooleanListPreference} is used for those {@code SharedPreference}
- * which stores value in the type of {@code Boolean} but would like to be shown
- * as two radio buttons instead of a checkbox.
- */
-public class BooleanListPreference extends ListPreference {
-
- public BooleanListPreference(Context context, AttributeSet attrs) {
- super(context, attrs);
- CharSequence values[] = getEntryValues();
- if (values.length == 2) {
- boolean x = Boolean.valueOf(values[0].toString());
- boolean y = Boolean.valueOf(values[1].toString());
- if (x != y) return;
- }
- throw new IllegalStateException(
- "EntryValues should be boolean strings");
- }
-
- @Override
- protected boolean persistString(String value) {
- return persistBoolean(Boolean.valueOf(value));
- }
-
- @Override
- protected String getPersistedString(String defaultValue) {
- return Boolean.toString(
- getPersistedBoolean(Boolean.valueOf(defaultValue)));
- }
-}
diff --git a/src/com/android/camera/Camera.java b/src/com/android/camera/Camera.java
deleted file mode 100644
index a2d916d..0000000
--- a/src/com/android/camera/Camera.java
+++ /dev/null
@@ -1,2077 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-import com.android.gallery.R;
-
-import android.app.Activity;
-import android.content.ActivityNotFoundException;
-import android.content.BroadcastReceiver;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.SharedPreferences;
-import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
-import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.hardware.Camera.Parameters;
-import android.hardware.Camera.PictureCallback;
-import android.hardware.Camera.Size;
-import android.location.Location;
-import android.location.LocationManager;
-import android.location.LocationProvider;
-import android.media.AudioManager;
-import android.media.ToneGenerator;
-import android.net.Uri;
-import android.os.Build;
-import android.os.Bundle;
-import android.os.Debug;
-import android.os.Environment;
-import android.os.Handler;
-import android.os.Message;
-import android.os.SystemClock;
-import android.preference.PreferenceManager;
-import android.provider.MediaStore;
-import android.text.format.DateFormat;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.view.Display;
-import android.view.GestureDetector;
-import android.view.KeyEvent;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.MotionEvent;
-import android.view.OrientationEventListener;
-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.view.MenuItem.OnMenuItemClickListener;
-import android.widget.ImageView;
-import android.widget.ZoomButtonsController;
-
-import com.android.camera.gallery.IImage;
-import com.android.camera.gallery.IImageList;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * Activity of the Camera which used to see preview and take pictures.
- */
-public class Camera extends NoSearchActivity implements View.OnClickListener,
- ShutterButton.OnShutterButtonListener, SurfaceHolder.Callback,
- Switcher.OnSwitchListener, OnScreenSettings.OnVisibilityChangedListener,
- OnSharedPreferenceChangeListener {
-
- private static final String TAG = "camera";
-
- // This value must be as same as the item value of the string array
- // "flash_mode" in file "res/values/arrays.xml".
- private static final String NO_FLASH_MODE = "no_flash";
- private static final int CROP_MSG = 1;
- private static final int FIRST_TIME_INIT = 2;
- private static final int RESTART_PREVIEW = 3;
- private static final int CLEAR_SCREEN_DELAY = 4;
-
- private static final String GPS_MODE_ON = "on";
- private static final String GPS_MODE_OFF = "off";
-
- private static final int SCREEN_DELAY = 2 * 60 * 1000;
- private static final int FOCUS_BEEP_VOLUME = 100;
-
- private static final String SCENE_MODE_ON = "on";
- private static final String SCENE_MODE_OFF = "off";
-
- private double mZoomValue; // The current zoom value.
- private double mZoomStep;
- private double mZoomMax;
- public static final double ZOOM_STEP_MIN = 0.25;
- public static final String ZOOM_STOP = "stop";
- public static final String ZOOM_IMMEDIATE = "zoom-immediate";
- public static final String ZOOM_CONTINUOUS = "zoom-continuous";
- public static final double ZOOM_MIN = 1.0;
- public static final String ZOOM_SPEED = "99";
-
- private Parameters mParameters;
- private Parameters mInitialParams;
-
- // The non-standard parameter strings to communicate with camera driver.
- // This will be removed in the future.
- public static final String PARM_ZOOM_STATE = "mot-zoom-state";
- public static final String PARM_ZOOM_STEP = "mot-zoom-step";
- public static final String PARM_ZOOM_TO_LEVEL = "mot-zoom-to-level";
- public static final String PARM_ZOOM_SPEED = "mot-zoom-speed";
- public static final String PARM_ZOOM_MAX = "mot-max-picture-continuous-zoom";
-
- private OrientationEventListener mOrientationListener;
- private int mLastOrientation = OrientationEventListener.ORIENTATION_UNKNOWN;
- private SharedPreferences mPreferences;
-
- private static final int IDLE = 1;
- private static final int SNAPSHOT_IN_PROGRESS = 2;
-
- private static final boolean SWITCH_CAMERA = true;
- private static final boolean SWITCH_VIDEO = false;
-
- private int mStatus = IDLE;
- private static final String sTempCropFilename = "crop-temp";
-
- private android.hardware.Camera mCameraDevice;
- private SurfaceView mSurfaceView;
- private SurfaceHolder mSurfaceHolder = null;
- private ShutterButton mShutterButton;
- private FocusRectangle mFocusRectangle;
- private IconIndicator mGpsIndicator;
- private IconIndicator mFlashIndicator;
- private IconIndicator mFocusIndicator;
- private IconIndicator mWhitebalanceIndicator;
- private IconIndicator mSceneModeIndicator;
- private ToneGenerator mFocusToneGenerator;
- private ZoomButtonsController mZoomButtons;
- private GestureDetector mGestureDetector;
- private Switcher mSwitcher;
- private boolean mStartPreviewFail = false;
-
- // mPostCaptureAlert, mLastPictureButton, mThumbController
- // are non-null only if isImageCaptureIntent() is true.
- private ImageView mLastPictureButton;
- private ThumbnailController mThumbController;
-
- // mCropValue and mSaveUri are used only if isImageCaptureIntent() is true.
- private String mCropValue;
- private Uri mSaveUri;
-
- private ImageCapture mImageCapture = null;
-
- private boolean mPreviewing;
- private boolean mPausing;
- private boolean mFirstTimeInitialized;
- private boolean mIsImageCaptureIntent;
- private boolean mRecordLocation;
-
- private static final int FOCUS_NOT_STARTED = 0;
- private static final int FOCUSING = 1;
- private static final int FOCUSING_SNAP_ON_FINISH = 2;
- private static final int FOCUS_SUCCESS = 3;
- private static final int FOCUS_FAIL = 4;
- private int mFocusState = FOCUS_NOT_STARTED;
-
- private ContentResolver mContentResolver;
- private boolean mDidRegister = false;
-
- private final ArrayList<MenuItem> mGalleryItems = new ArrayList<MenuItem>();
-
- private LocationManager mLocationManager = null;
-
- // Use OneShotPreviewCallback to measure the time between
- // JpegPictureCallback and preview.
- private final OneShotPreviewCallback mOneShotPreviewCallback =
- new OneShotPreviewCallback();
- private final ShutterCallback mShutterCallback = new ShutterCallback();
- private final RawPictureCallback mRawPictureCallback =
- new RawPictureCallback();
- private final AutoFocusCallback mAutoFocusCallback =
- new AutoFocusCallback();
- private final ZoomCallback mZoomCallback = new ZoomCallback();
- // Use the ErrorCallback to capture the crash count
- // on the mediaserver
- private final ErrorCallback mErrorCallback = new ErrorCallback();
-
- private long mFocusStartTime;
- private long mFocusCallbackTime;
- private long mCaptureStartTime;
- private long mShutterCallbackTime;
- private long mRawPictureCallbackTime;
- private long mJpegPictureCallbackTime;
- private int mPicturesRemaining;
-
- // These latency time are for the CameraLatency test.
- public long mAutoFocusTime;
- public long mShutterLag;
- public long mShutterAndRawPictureCallbackTime;
- public long mJpegPictureCallbackTimeLag;
- public long mRawPictureAndJpegPictureCallbackTime;
-
- // Add the media server tag
- public static boolean mMediaServerDied = false;
- // Focus mode. Options are pref_camera_focusmode_entryvalues.
- private String mFocusMode;
-
- private final Handler mHandler = new MainHandler();
- private OnScreenSettings mSettings;
-
- /**
- * This Handler is used to post message back onto the main thread of the
- * application
- */
- private class MainHandler extends Handler {
- @Override
- public void handleMessage(Message msg) {
- switch (msg.what) {
- case RESTART_PREVIEW: {
- restartPreview();
- break;
- }
-
- case CLEAR_SCREEN_DELAY: {
- getWindow().clearFlags(
- WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- break;
- }
-
- case FIRST_TIME_INIT: {
- initializeFirstTime();
- break;
- }
- }
- }
- }
-
- // Snapshots can only be taken after this is called. It should be called
- // once only. We could have done these things in onCreate() but we want to
- // make preview screen appear as soon as possible.
- private void initializeFirstTime() {
- if (mFirstTimeInitialized) return;
-
- // Create orientation listenter. This should be done first because it
- // takes some time to get first orientation.
- mOrientationListener =
- new OrientationEventListener(Camera.this) {
- @Override
- public void onOrientationChanged(int orientation) {
- // We keep the last known orientation. So if the user
- // first orient the camera then point the camera to
- // floor/sky, we still have the correct orientation.
- if (orientation != ORIENTATION_UNKNOWN) {
- mLastOrientation = orientation;
- }
- }
- };
- mOrientationListener.enable();
-
- // Initialize location sevice.
- mLocationManager = (LocationManager)
- getSystemService(Context.LOCATION_SERVICE);
- readPreference();
- if (mRecordLocation) startReceivingLocationUpdates();
-
- checkStorage();
-
- // Initialize last picture button.
- mContentResolver = getContentResolver();
- if (!mIsImageCaptureIntent) {
- findViewById(R.id.camera_switch).setOnClickListener(this);
- mLastPictureButton =
- (ImageView) findViewById(R.id.review_thumbnail);
- mLastPictureButton.setOnClickListener(this);
- mThumbController = new ThumbnailController(
- getResources(), mLastPictureButton, mContentResolver);
- mThumbController.loadData(ImageManager.getLastImageThumbPath());
- // Update last image thumbnail.
- updateThumbnailButton();
- }
-
- // Initialize shutter button.
- mShutterButton = (ShutterButton) findViewById(R.id.shutter_button);
- mShutterButton.setOnShutterButtonListener(this);
- mShutterButton.setVisibility(View.VISIBLE);
-
- mFocusRectangle = (FocusRectangle) findViewById(R.id.focus_rectangle);
- updateFocusIndicator();
-
- // Initialize GPS indicator.
- mGpsIndicator = (IconIndicator) findViewById(R.id.gps_icon);
-
- ImageManager.ensureOSXCompatibleFolder();
-
- installIntentFilter();
-
- initializeFocusTone();
-
- initializeZoom();
-
- mFirstTimeInitialized = true;
- }
-
- private void updateThumbnailButton() {
- // Update last image if URI is invalid and the storage is ready.
- if (!mThumbController.isUriValid() && mPicturesRemaining >= 0) {
- updateLastImage();
- }
- mThumbController.updateDisplayIfNeeded();
- }
-
- // If the activity is paused and resumed, this method will be called in
- // onResume.
- private void initializeSecondTime() {
- // Start orientation listener as soon as possible because it takes
- // some time to get first orientation.
- mOrientationListener.enable();
-
- // Start location update if needed.
- readPreference();
- if (mRecordLocation) startReceivingLocationUpdates();
-
- installIntentFilter();
-
- initializeFocusTone();
-
- checkStorage();
-
- if (mZoomButtons != null) {
- mZoomValue = Double.parseDouble(
- mParameters.get(PARM_ZOOM_TO_LEVEL));
- mCameraDevice.setZoomCallback(mZoomCallback);
- }
-
- if (!mIsImageCaptureIntent) {
- updateThumbnailButton();
- }
- }
-
- private void initializeZoom() {
- // Check if the phone has zoom capability.
- String zoomState = mParameters.get(PARM_ZOOM_STATE);
- if (zoomState == null) return;
-
- mZoomValue = Double.parseDouble(mParameters.get(PARM_ZOOM_TO_LEVEL));
- mZoomMax = Double.parseDouble(mParameters.get(PARM_ZOOM_MAX));
- mZoomStep = Double.parseDouble(mParameters.get(PARM_ZOOM_STEP));
- mParameters.set(PARM_ZOOM_SPEED, ZOOM_SPEED);
- mCameraDevice.setParameters(mParameters);
-
- mGestureDetector = new GestureDetector(this, new ZoomGestureListener());
- mCameraDevice.setZoomCallback(mZoomCallback);
- mZoomButtons = new ZoomButtonsController(mSurfaceView);
- mZoomButtons.setAutoDismissed(true);
- mZoomButtons.setZoomSpeed(100);
- mZoomButtons.setOnZoomListener(
- new ZoomButtonsController.OnZoomListener() {
- public void onVisibilityChanged(boolean visible) {
- if (visible) {
- updateZoomButtonsEnabled();
- }
- }
-
- public void onZoom(boolean zoomIn) {
- if (isZooming()) return;
-
- if (zoomIn) {
- if (mZoomValue < mZoomMax) {
- zoomToLevel(ZOOM_CONTINUOUS, mZoomValue + mZoomStep);
- }
- } else {
- if (mZoomValue > ZOOM_MIN) {
- zoomToLevel(ZOOM_CONTINUOUS, mZoomValue - mZoomStep);
- }
- }
- }
- });
- }
-
- public void onVisibilityChanged(boolean visible) {
- // When the on-screen setting is not displayed, we show the gripper.
- // When the on-screen setting is displayed, we hide the gripper.
- int reverseVisibility = visible ? View.INVISIBLE : View.VISIBLE;
- findViewById(R.id.btn_gripper).setVisibility(reverseVisibility);
- findViewById(R.id.indicator_bar).setVisibility(reverseVisibility);
-
- if (visible) {
- mPreferences.registerOnSharedPreferenceChangeListener(this);
- } else {
- mPreferences.unregisterOnSharedPreferenceChangeListener(this);
- }
- }
-
- private boolean isZooming() {
- mParameters = mCameraDevice.getParameters();
- return "continuous".equals(mParameters.get(PARM_ZOOM_STATE));
- }
-
- private void zoomToLevel(String type, double zoomValue) {
- if (zoomValue > mZoomMax) zoomValue = mZoomMax;
- if (zoomValue < ZOOM_MIN) zoomValue = ZOOM_MIN;
-
- // If the application sets a unchanged zoom value, the driver will stuck
- // at the zoom state. This is a work-around to ensure the state is at
- // "stop".
- mParameters.set(PARM_ZOOM_STATE, ZOOM_STOP);
- mCameraDevice.setParameters(mParameters);
-
- mParameters.set(PARM_ZOOM_TO_LEVEL, Double.toString(zoomValue));
- mParameters.set(PARM_ZOOM_STATE, type);
- mCameraDevice.setParameters(mParameters);
-
- if (ZOOM_IMMEDIATE.equals(type)) mZoomValue = zoomValue;
- }
-
- private void updateZoomButtonsEnabled() {
- mZoomButtons.setZoomInEnabled(mZoomValue < mZoomMax);
- mZoomButtons.setZoomOutEnabled(mZoomValue > ZOOM_MIN);
- }
-
- private class ZoomGestureListener extends
- GestureDetector.SimpleOnGestureListener {
- @Override
- public boolean onDown(MotionEvent e) {
- // Show zoom buttons only when preview is started and snapshot
- // is not in progress. mZoomButtons may be null if it is not
- // initialized.
- if (!mPausing && isCameraIdle() && mPreviewing
- && mZoomButtons != null) {
- mZoomButtons.setVisible(true);
- }
- return true;
- }
-
- @Override
- public boolean onDoubleTap(MotionEvent e) {
- // Perform zoom only when preview is started and snapshot is not in
- // progress.
- if (mPausing || !isCameraIdle() || !mPreviewing
- || mZoomButtons == null || isZooming()) {
- return false;
- }
-
- if (mZoomValue < mZoomMax) {
- // Zoom in to the maximum.
- while (mZoomValue < mZoomMax) {
- zoomToLevel(ZOOM_IMMEDIATE, mZoomValue + ZOOM_STEP_MIN);
- // Wait for a while so we are not changing zoom too fast.
- try {
- Thread.sleep(5);
- } catch (InterruptedException ex) {
- }
- }
- } else {
- // Zoom out to the minimum.
- while (mZoomValue > ZOOM_MIN) {
- zoomToLevel(ZOOM_IMMEDIATE, mZoomValue - ZOOM_STEP_MIN);
- // Wait for a while so we are not changing zoom too fast.
- try {
- Thread.sleep(5);
- } catch (InterruptedException ex) {
- }
- }
- }
- updateZoomButtonsEnabled();
- return true;
- }
- }
-
- @Override
- public boolean dispatchTouchEvent(MotionEvent m) {
- if (!super.dispatchTouchEvent(m) && mGestureDetector != null) {
- return mGestureDetector.onTouchEvent(m);
- }
- return true;
- }
-
- LocationListener [] mLocationListeners = new LocationListener[] {
- new LocationListener(LocationManager.GPS_PROVIDER),
- new LocationListener(LocationManager.NETWORK_PROVIDER)
- };
-
- private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- if (action.equals(Intent.ACTION_MEDIA_MOUNTED)
- || action.equals(Intent.ACTION_MEDIA_UNMOUNTED)
- || action.equals(Intent.ACTION_MEDIA_CHECKING)
- || action.equals(Intent.ACTION_MEDIA_SCANNER_STARTED)) {
- checkStorage();
- } else if (action.equals(Intent.ACTION_MEDIA_SCANNER_FINISHED)) {
- checkStorage();
- if (!mIsImageCaptureIntent) {
- updateThumbnailButton();
- }
- }
- }
- };
-
- private class LocationListener
- implements android.location.LocationListener {
- Location mLastLocation;
- boolean mValid = false;
- String mProvider;
-
- public LocationListener(String provider) {
- mProvider = provider;
- mLastLocation = new Location(mProvider);
- }
-
- public void onLocationChanged(Location newLocation) {
- if (newLocation.getLatitude() == 0.0
- && newLocation.getLongitude() == 0.0) {
- // Hack to filter out 0.0,0.0 locations
- return;
- }
- // If GPS is available before start camera, we won't get status
- // update so update GPS indicator when we receive data.
- if (mRecordLocation
- && LocationManager.GPS_PROVIDER.equals(mProvider)) {
- mGpsIndicator.setMode(GPS_MODE_ON);
- }
- mLastLocation.set(newLocation);
- mValid = true;
- }
-
- public void onProviderEnabled(String provider) {
- }
-
- public void onProviderDisabled(String provider) {
- mValid = false;
- }
-
- public void onStatusChanged(
- String provider, int status, Bundle extras) {
- switch(status) {
- case LocationProvider.OUT_OF_SERVICE:
- case LocationProvider.TEMPORARILY_UNAVAILABLE: {
- mValid = false;
- if (mRecordLocation &&
- LocationManager.GPS_PROVIDER.equals(provider)) {
- mGpsIndicator.setMode(GPS_MODE_OFF);
- }
- break;
- }
- }
- }
-
- public Location current() {
- return mValid ? mLastLocation : null;
- }
- }
-
- private final class OneShotPreviewCallback
- implements android.hardware.Camera.PreviewCallback {
- public void onPreviewFrame(byte[] data,
- android.hardware.Camera camera) {
- long now = System.currentTimeMillis();
- if (mJpegPictureCallbackTime != 0) {
- mJpegPictureCallbackTimeLag = now - mJpegPictureCallbackTime;
- Log.v(TAG, "mJpegPictureCallbackTimeLag = "
- + mJpegPictureCallbackTimeLag + "ms");
- mJpegPictureCallbackTime = 0;
- } else {
- Log.v(TAG, "Got first frame");
- }
- }
- }
-
- private final class ShutterCallback
- implements android.hardware.Camera.ShutterCallback {
- public void onShutter() {
- mShutterCallbackTime = System.currentTimeMillis();
- mShutterLag = mShutterCallbackTime - mCaptureStartTime;
- Log.v(TAG, "mShutterLag = " + mShutterLag + "ms");
- clearFocusState();
- }
- }
-
- private final class RawPictureCallback implements PictureCallback {
- public void onPictureTaken(
- byte [] rawData, android.hardware.Camera camera) {
- mRawPictureCallbackTime = System.currentTimeMillis();
- mShutterAndRawPictureCallbackTime =
- mRawPictureCallbackTime - mShutterCallbackTime;
- Log.v(TAG, "mShutterAndRawPictureCallbackTime = "
- + mShutterAndRawPictureCallbackTime + "ms");
- }
- }
-
- private final class JpegPictureCallback implements PictureCallback {
- Location mLocation;
-
- public JpegPictureCallback(Location loc) {
- mLocation = loc;
- }
-
- public void onPictureTaken(
- final byte [] jpegData, final android.hardware.Camera camera) {
- if (mPausing) {
- return;
- }
-
- mJpegPictureCallbackTime = System.currentTimeMillis();
- mRawPictureAndJpegPictureCallbackTime =
- mJpegPictureCallbackTime - mRawPictureCallbackTime;
- Log.v(TAG, "mRawPictureAndJpegPictureCallbackTime = "
- + mRawPictureAndJpegPictureCallbackTime + "ms");
- mImageCapture.storeImage(jpegData, camera, mLocation);
-
- if (!mIsImageCaptureIntent) {
- long delay = 1200 - (
- System.currentTimeMillis() - mRawPictureCallbackTime);
- mHandler.sendEmptyMessageDelayed(
- RESTART_PREVIEW, Math.max(delay, 0));
- }
- }
- }
-
- private final class AutoFocusCallback
- implements android.hardware.Camera.AutoFocusCallback {
- public void onAutoFocus(
- boolean focused, android.hardware.Camera camera) {
- mFocusCallbackTime = System.currentTimeMillis();
- mAutoFocusTime = mFocusCallbackTime - mFocusStartTime;
- Log.v(TAG, "mAutoFocusTime = " + mAutoFocusTime + "ms");
- if (mFocusState == FOCUSING_SNAP_ON_FINISH) {
- // Take the picture no matter focus succeeds or fails. No need
- // to play the AF sound if we're about to play the shutter
- // sound.
- if (focused) {
- mFocusState = FOCUS_SUCCESS;
- } else {
- mFocusState = FOCUS_FAIL;
- }
- mImageCapture.onSnap();
- } else if (mFocusState == FOCUSING) {
- // User is half-pressing the focus key. Play the focus tone.
- // Do not take the picture now.
- ToneGenerator tg = mFocusToneGenerator;
- if (tg != null) {
- tg.startTone(ToneGenerator.TONE_PROP_BEEP2);
- }
- if (focused) {
- mFocusState = FOCUS_SUCCESS;
- } else {
- mFocusState = FOCUS_FAIL;
- }
- } else if (mFocusState == FOCUS_NOT_STARTED) {
- // User has released the focus key before focus completes.
- // Do nothing.
- }
- updateFocusIndicator();
- }
- }
-
- private final class ErrorCallback
- implements android.hardware.Camera.ErrorCallback {
- public void onError(int error, android.hardware.Camera camera) {
- if (error == android.hardware.Camera.CAMERA_ERROR_SERVER_DIED) {
- mMediaServerDied = true;
- Log.v(TAG, "media server died");
- }
- }
- }
-
- private final class ZoomCallback
- implements android.hardware.Camera.ZoomCallback {
- public void onZoomUpdate(int zoomLevel, boolean stopped,
- android.hardware.Camera camera) {
- mZoomValue = (double) zoomLevel / 1000;
- Log.v(TAG, "ZoomCallback: zoom level=" + zoomLevel + ".stopped="
- + stopped);
- updateZoomButtonsEnabled();
- }
- }
-
- private class ImageCapture {
-
- private boolean mCancel = false;
-
- private Uri mLastContentUri;
-
- byte[] mCaptureOnlyData;
-
- // Returns the rotation degree in the jpeg header.
- private int storeImage(byte[] data, Location loc) {
- try {
- long dateTaken = System.currentTimeMillis();
- String name = createName(dateTaken) + ".jpg";
- int[] degree = new int[1];
- mLastContentUri = ImageManager.addImage(
- mContentResolver,
- name,
- dateTaken,
- loc, // location from gps/network
- ImageManager.CAMERA_IMAGE_BUCKET_NAME, name,
- null, data,
- degree);
- if (mLastContentUri == null) {
- // this means we got an error
- mCancel = true;
- }
- if (!mCancel) {
- ImageManager.setImageSize(mContentResolver, mLastContentUri,
- new File(ImageManager.CAMERA_IMAGE_BUCKET_NAME,
- name).length());
- }
- return degree[0];
- } catch (Exception ex) {
- Log.e(TAG, "Exception while compressing image.", ex);
- return 0;
- }
- }
-
- public void storeImage(final byte[] data,
- android.hardware.Camera camera, Location loc) {
- if (!mIsImageCaptureIntent) {
- int degree = storeImage(data, loc);
- sendBroadcast(new Intent(
- "com.android.camera.NEW_PICTURE", mLastContentUri));
- setLastPictureThumb(data, degree,
- mImageCapture.getLastCaptureUri());
- mThumbController.updateDisplayIfNeeded();
- } else {
- mCaptureOnlyData = data;
- showPostCaptureAlert();
- }
- }
-
- /**
- * Initiate the capture of an image.
- */
- public void initiate() {
- if (mCameraDevice == null) {
- return;
- }
-
- mCancel = false;
-
- capture();
- }
-
- public Uri getLastCaptureUri() {
- return mLastContentUri;
- }
-
- public byte[] getLastCaptureData() {
- return mCaptureOnlyData;
- }
-
- private void capture() {
- mCaptureOnlyData = null;
-
- // Set rotation.
- int orientation = mLastOrientation;
- if (orientation != OrientationEventListener.ORIENTATION_UNKNOWN) {
- orientation += 90;
- }
- orientation = ImageManager.roundOrientation(orientation);
- Log.v(TAG, "mLastOrientation = " + mLastOrientation
- + ", orientation = " + orientation);
- mParameters.setRotation(orientation);
-
- // Clear previous GPS location from the parameters.
- mParameters.removeGpsData();
-
- // Set GPS location.
- Location loc = mRecordLocation ? getCurrentLocation() : null;
- if (loc != null) {
- double lat = loc.getLatitude();
- double lon = loc.getLongitude();
- boolean hasLatLon = (lat != 0.0d) || (lon != 0.0d);
-
- if (hasLatLon) {
- mParameters.setGpsLatitude(lat);
- mParameters.setGpsLongitude(lon);
- if (loc.hasAltitude()) {
- mParameters.setGpsAltitude(loc.getAltitude());
- } else {
- // for NETWORK_PROVIDER location provider, we may have
- // no altitude information, but the driver needs it, so
- // we fake one.
- mParameters.setGpsAltitude(0);
- }
- if (loc.getTime() != 0) {
- // Location.getTime() is UTC in milliseconds.
- // gps-timestamp is UTC in seconds.
- long utcTimeSeconds = loc.getTime() / 1000;
- mParameters.setGpsTimestamp(utcTimeSeconds);
- }
- } else {
- loc = null;
- }
- }
-
- mCameraDevice.setParameters(mParameters);
-
- mCameraDevice.takePicture(mShutterCallback, mRawPictureCallback,
- new JpegPictureCallback(loc));
- mPreviewing = false;
- }
-
- public void onSnap() {
- // If we are already in the middle of taking a snapshot then ignore.
- if (mPausing || mStatus == SNAPSHOT_IN_PROGRESS) {
- return;
- }
- mCaptureStartTime = System.currentTimeMillis();
-
- // Don't check the filesystem here, we can't afford the latency.
- // Instead, check the cached value which was calculated when the
- // preview was restarted.
- if (mPicturesRemaining < 1) {
- updateStorageHint(mPicturesRemaining);
- return;
- }
-
- mStatus = SNAPSHOT_IN_PROGRESS;
-
- mImageCapture.initiate();
- }
-
- private void clearLastData() {
- mCaptureOnlyData = null;
- }
- }
-
- public boolean saveDataToFile(String filePath, byte[] data) {
- FileOutputStream f = null;
- try {
- f = new FileOutputStream(filePath);
- f.write(data);
- } catch (IOException e) {
- return false;
- } finally {
- MenuHelper.closeSilently(f);
- }
- return true;
- }
-
- private void setLastPictureThumb(byte[] data, int degree, Uri uri) {
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.inSampleSize = 16;
- Bitmap lastPictureThumb =
- BitmapFactory.decodeByteArray(data, 0, data.length, options);
- lastPictureThumb = Util.rotate(lastPictureThumb, degree);
- mThumbController.setData(uri, lastPictureThumb);
- }
-
- private static String createName(long dateTaken) {
- return DateFormat.format("yyyy-MM-dd kk.mm.ss", dateTaken).toString();
- }
-
- @Override
- public void onCreate(Bundle icicle) {
- super.onCreate(icicle);
-
- Window win = getWindow();
- win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- setContentView(R.layout.camera);
- mSurfaceView = (SurfaceView) findViewById(R.id.camera_preview);
-
- mPreferences = PreferenceManager.getDefaultSharedPreferences(this);
-
- /*
- * To reduce startup time, we start the preview in another thread.
- * We make sure the preview is started at the end of onCreate.
- */
- Thread startPreviewThread = new Thread(new Runnable() {
- public void run() {
- try {
- mStartPreviewFail = false;
- startPreview();
- } catch (CameraHardwareException e) {
- // In eng build, we throw the exception so that test tool
- // can detect it and report it
- if ("eng".equals(Build.TYPE)) {
- throw new RuntimeException(e);
- }
- mStartPreviewFail = true;
- }
- }
- });
- startPreviewThread.start();
-
- // don't set mSurfaceHolder here. We have it set ONLY within
- // surfaceChanged / surfaceDestroyed, other parts of the code
- // assume that when it is set, the surface is also set.
- SurfaceHolder holder = mSurfaceView.getHolder();
- holder.addCallback(this);
- holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
-
- mIsImageCaptureIntent = isImageCaptureIntent();
- if (mIsImageCaptureIntent) {
- setupCaptureParams();
- }
-
- LayoutInflater inflater = getLayoutInflater();
-
- ViewGroup rootView = (ViewGroup) findViewById(R.id.camera);
- if (mIsImageCaptureIntent) {
- View controlBar = inflater.inflate(
- R.layout.attach_camera_control, rootView);
- controlBar.findViewById(R.id.btn_cancel).setOnClickListener(this);
- controlBar.findViewById(R.id.btn_retake).setOnClickListener(this);
- controlBar.findViewById(R.id.btn_done).setOnClickListener(this);
- } else {
- inflater.inflate(R.layout.camera_control, rootView);
- mSwitcher = ((Switcher) findViewById(R.id.camera_switch));
- mSwitcher.setOnSwitchListener(this);
- mSwitcher.addTouchView(findViewById(R.id.camera_switch_set));
- }
- findViewById(R.id.btn_gripper)
- .setOnTouchListener(new GripperTouchListener());
-
- mFlashIndicator = (IconIndicator) findViewById(R.id.flash_icon);
- mFocusIndicator = (IconIndicator) findViewById(R.id.focus_icon);
- mSceneModeIndicator = (IconIndicator) findViewById(R.id.scenemode_icon);
- mWhitebalanceIndicator =
- (IconIndicator) findViewById(R.id.whitebalance_icon);
-
- // Make sure preview is started.
- try {
- startPreviewThread.join();
- if (mStartPreviewFail) {
- showCameraErrorAndFinish();
- return;
- }
- } catch (InterruptedException ex) {
- // ignore
- }
- }
-
- private class GripperTouchListener implements View.OnTouchListener {
- public boolean onTouch(View view, MotionEvent event) {
- switch (event.getAction()) {
- case MotionEvent.ACTION_DOWN:
- return true;
- case MotionEvent.ACTION_UP:
- showOnScreenSettings();
- return true;
- }
- return false;
- }
- }
-
- @Override
- public void onStart() {
- super.onStart();
- if (!mIsImageCaptureIntent) {
- mSwitcher.setSwitch(SWITCH_CAMERA);
- }
- }
-
- private void checkStorage() {
- if (ImageManager.isMediaScannerScanning(getContentResolver())) {
- mPicturesRemaining = MenuHelper.NO_STORAGE_ERROR;
- } else {
- calculatePicturesRemaining();
- }
- updateStorageHint(mPicturesRemaining);
- }
-
-
- private void showOnScreenSettings() {
- if (mSettings == null) {
- mSettings = new OnScreenSettings(
- findViewById(R.id.camera_preview));
- CameraSettings helper =
- new CameraSettings(this, mInitialParams);
- mSettings.setPreferenceScreen(helper
- .getPreferenceScreen(R.xml.camera_preferences));
- mSettings.setOnVisibilityChangedListener(this);
-
- String sceneMode = mParameters.getSceneMode();
- if (sceneMode == null
- || Parameters.SCENE_MODE_AUTO.equals(sceneMode)) {
- // If scene mode is auto, cancel override in settings
- mSettings.overrideSettings(CameraSettings.KEY_FLASH_MODE, null);
- mSettings.overrideSettings(CameraSettings.KEY_FOCUS_MODE, null);
- mSettings.overrideSettings(
- CameraSettings.KEY_WHITE_BALANCE, null);
- } else {
- // If scene mode is not auto, override the value in settings
- mSettings.overrideSettings(CameraSettings.KEY_FLASH_MODE,
- mParameters.getFlashMode());
- mSettings.overrideSettings(CameraSettings.KEY_FOCUS_MODE,
- mParameters.getFocusMode());
- mSettings.overrideSettings(CameraSettings.KEY_WHITE_BALANCE,
- mParameters.getWhiteBalance());
- }
- }
-
- mSettings.setVisible(true);
- }
-
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.btn_retake:
- hidePostCaptureAlert();
- restartPreview();
- break;
- case R.id.review_thumbnail:
- if (isCameraIdle()) {
- viewLastImage();
- }
- break;
- case R.id.btn_done:
- doAttach();
- break;
- case R.id.btn_cancel:
- doCancel();
- }
- }
-
- private Bitmap createCaptureBitmap(byte[] data) {
- // This is really stupid...we just want to read the orientation in
- // the jpeg header.
- String filepath = ImageManager.getTempJpegPath();
- int degree = 0;
- if (saveDataToFile(filepath, data)) {
- degree = ImageManager.getExifOrientation(filepath);
- new File(filepath).delete();
- }
-
- // Limit to 50k pixels so we can return it in the intent.
- Bitmap bitmap = Util.makeBitmap(data, 50*1024);
- bitmap = Util.rotate(bitmap, degree);
- return bitmap;
- }
-
- private void doAttach() {
- if (mPausing) {
- return;
- }
-
- byte[] data = mImageCapture.getLastCaptureData();
-
- if (mCropValue == null) {
- // First handle the no crop case -- just return the value. If the
- // caller specifies a "save uri" then write the data to it's
- // stream. Otherwise, pass back a scaled down version of the bitmap
- // directly in the extras.
- if (mSaveUri != null) {
- OutputStream outputStream = null;
- try {
- outputStream = mContentResolver.openOutputStream(mSaveUri);
- outputStream.write(data);
- outputStream.close();
-
- setResult(RESULT_OK);
- finish();
- } catch (IOException ex) {
- // ignore exception
- } finally {
- Util.closeSilently(outputStream);
- }
- } else {
- Bitmap bitmap = createCaptureBitmap(data);
- setResult(RESULT_OK,
- new Intent("inline-data").putExtra("data", bitmap));
- finish();
- }
- } else {
- // Save the image to a temp file and invoke the cropper
- Uri tempUri = null;
- FileOutputStream tempStream = null;
- try {
- File path = getFileStreamPath(sTempCropFilename);
- path.delete();
- tempStream = openFileOutput(sTempCropFilename, 0);
- tempStream.write(data);
- tempStream.close();
- tempUri = Uri.fromFile(path);
- } catch (FileNotFoundException ex) {
- setResult(Activity.RESULT_CANCELED);
- finish();
- return;
- } catch (IOException ex) {
- setResult(Activity.RESULT_CANCELED);
- finish();
- return;
- } finally {
- Util.closeSilently(tempStream);
- }
-
- Bundle newExtras = new Bundle();
- if (mCropValue.equals("circle")) {
- newExtras.putString("circleCrop", "true");
- }
- if (mSaveUri != null) {
- newExtras.putParcelable(MediaStore.EXTRA_OUTPUT, mSaveUri);
- } else {
- newExtras.putBoolean("return-data", true);
- }
-
- Intent cropIntent = new Intent("com.android.camera.action.CROP");
-
- cropIntent.setData(tempUri);
- cropIntent.putExtras(newExtras);
-
- startActivityForResult(cropIntent, CROP_MSG);
- }
- }
-
- private void doCancel() {
- setResult(RESULT_CANCELED, new Intent());
- finish();
- }
-
- public void onShutterButtonFocus(ShutterButton button, boolean pressed) {
- if (mPausing) {
- return;
- }
- switch (button.getId()) {
- case R.id.shutter_button:
- doFocus(pressed);
- break;
- }
- }
-
- public void onShutterButtonClick(ShutterButton button) {
- if (mPausing) {
- return;
- }
- switch (button.getId()) {
- case R.id.shutter_button:
- doSnap();
- break;
- }
- }
-
- private OnScreenHint mStorageHint;
-
- private void updateStorageHint(int remaining) {
- String noStorageText = null;
-
- if (remaining == MenuHelper.NO_STORAGE_ERROR) {
- String state = Environment.getExternalStorageState();
- if (state == Environment.MEDIA_CHECKING ||
- ImageManager.isMediaScannerScanning(getContentResolver())) {
- noStorageText = getString(R.string.preparing_sd);
- } else {
- noStorageText = getString(R.string.no_storage);
- }
- } else if (remaining < 1) {
- noStorageText = getString(R.string.not_enough_space);
- }
-
- if (noStorageText != null) {
- if (mStorageHint == null) {
- mStorageHint = OnScreenHint.makeText(this, noStorageText);
- } else {
- mStorageHint.setText(noStorageText);
- }
- mStorageHint.show();
- } else if (mStorageHint != null) {
- mStorageHint.cancel();
- mStorageHint = null;
- }
- }
-
- private void installIntentFilter() {
- // install an intent filter to receive SD card related events.
- IntentFilter intentFilter =
- new IntentFilter(Intent.ACTION_MEDIA_MOUNTED);
- intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
- intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED);
- intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);
- intentFilter.addAction(Intent.ACTION_MEDIA_CHECKING);
- intentFilter.addDataScheme("file");
- registerReceiver(mReceiver, intentFilter);
- mDidRegister = true;
- }
-
- private void initializeFocusTone() {
- // Initialize focus tone generator.
- try {
- mFocusToneGenerator = new ToneGenerator(
- AudioManager.STREAM_SYSTEM, FOCUS_BEEP_VOLUME);
- } catch (Throwable ex) {
- Log.w(TAG, "Exception caught while creating tone generator: ", ex);
- mFocusToneGenerator = null;
- }
- }
-
- private void readPreference() {
- mRecordLocation = mPreferences.getBoolean(
- "pref_camera_recordlocation_key", false);
- mFocusMode = mPreferences.getString(
- CameraSettings.KEY_FOCUS_MODE,
- getString(R.string.pref_camera_focusmode_default));
- }
-
- @Override
- public void onResume() {
- super.onResume();
-
- mPausing = false;
- mJpegPictureCallbackTime = 0;
- mImageCapture = new ImageCapture();
-
- // Start the preview if it is not started.
- if (!mPreviewing && !mStartPreviewFail) {
- try {
- startPreview();
- } catch (CameraHardwareException e) {
- showCameraErrorAndFinish();
- return;
- }
- }
-
- if (mSurfaceHolder != null) {
- // If first time initialization is not finished, put it in the
- // message queue.
- if (!mFirstTimeInitialized) {
- mHandler.sendEmptyMessage(FIRST_TIME_INIT);
- } else {
- initializeSecondTime();
- }
- }
- keepScreenOnAwhile();
- }
-
- private static ImageManager.DataLocation dataLocation() {
- return ImageManager.DataLocation.EXTERNAL;
- }
-
- @Override
- protected void onPause() {
- mPausing = true;
- stopPreview();
- // Close the camera now because other activities may need to use it.
- closeCamera();
- resetScreenOn();
-
- if (mSettings != null && mSettings.isVisible()) {
- mSettings.setVisible(false);
- }
-
- if (mFirstTimeInitialized) {
- mOrientationListener.disable();
- mGpsIndicator.setMode(GPS_MODE_OFF);
- if (!mIsImageCaptureIntent) {
- mThumbController.storeData(
- ImageManager.getLastImageThumbPath());
- }
- hidePostCaptureAlert();
- }
-
- if (mDidRegister) {
- unregisterReceiver(mReceiver);
- mDidRegister = false;
- }
- stopReceivingLocationUpdates();
-
- if (mFocusToneGenerator != null) {
- mFocusToneGenerator.release();
- mFocusToneGenerator = null;
- }
-
- if (mStorageHint != null) {
- mStorageHint.cancel();
- mStorageHint = null;
- }
-
- // If we are in an image capture intent and has taken
- // a picture, we just clear it in onPause.
- mImageCapture.clearLastData();
- mImageCapture = null;
-
- // This is necessary to make the ZoomButtonsController unregister
- // its configuration change receiver.
- if (mZoomButtons != null) {
- mZoomButtons.setVisible(false);
- }
-
- // Remove the messages in the event queue.
- mHandler.removeMessages(RESTART_PREVIEW);
- mHandler.removeMessages(FIRST_TIME_INIT);
-
- super.onPause();
- }
-
- @Override
- protected void onActivityResult(
- int requestCode, int resultCode, Intent data) {
- switch (requestCode) {
- case CROP_MSG: {
- Intent intent = new Intent();
- if (data != null) {
- Bundle extras = data.getExtras();
- if (extras != null) {
- intent.putExtras(extras);
- }
- }
- setResult(resultCode, intent);
- finish();
-
- File path = getFileStreamPath(sTempCropFilename);
- path.delete();
-
- break;
- }
- }
- }
-
- private boolean canTakePicture() {
- return isCameraIdle() && mPreviewing && (mPicturesRemaining > 0);
- }
-
- private void autoFocus() {
- // Initiate autofocus only when preview is started and snapshot is not
- // in progress.
- if (canTakePicture()) {
- Log.v(TAG, "Start autofocus.");
- if (mZoomButtons != null) mZoomButtons.setVisible(false);
- mFocusStartTime = System.currentTimeMillis();
- mFocusState = FOCUSING;
- updateFocusIndicator();
- mCameraDevice.autoFocus(mAutoFocusCallback);
- }
- }
-
- private void cancelAutoFocus() {
- // User releases half-pressed focus key.
- if (mFocusState == FOCUSING || mFocusState == FOCUS_SUCCESS
- || mFocusState == FOCUS_FAIL) {
- Log.v(TAG, "Cancel autofocus.");
- mCameraDevice.cancelAutoFocus();
- }
- if (mFocusState != FOCUSING_SNAP_ON_FINISH) {
- clearFocusState();
- }
- }
-
- private void clearFocusState() {
- mFocusState = FOCUS_NOT_STARTED;
- updateFocusIndicator();
- }
-
- private void updateFocusIndicator() {
- if (mFocusRectangle == null) return;
-
- if (mFocusState == FOCUSING || mFocusState == FOCUSING_SNAP_ON_FINISH) {
- mFocusRectangle.showStart();
- } else if (mFocusState == FOCUS_SUCCESS) {
- mFocusRectangle.showSuccess();
- } else if (mFocusState == FOCUS_FAIL) {
- mFocusRectangle.showFail();
- } else {
- mFocusRectangle.clear();
- }
- }
-
- @Override
- public void onBackPressed() {
- if (!isCameraIdle()) {
- // ignore backs while we're taking a picture
- return;
- }
- super.onBackPressed();
- }
-
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- switch (keyCode) {
- case KeyEvent.KEYCODE_FOCUS:
- if (mFirstTimeInitialized && event.getRepeatCount() == 0) {
- doFocus(true);
- }
- return true;
- case KeyEvent.KEYCODE_CAMERA:
- if (mFirstTimeInitialized && event.getRepeatCount() == 0) {
- doSnap();
- }
- return true;
- case KeyEvent.KEYCODE_DPAD_CENTER:
- // If we get a dpad center event without any focused view, move
- // the focus to the shutter button and press it.
- if (mFirstTimeInitialized && event.getRepeatCount() == 0) {
- // Start auto-focus immediately to reduce shutter lag. After
- // the shutter button gets the focus, doFocus() will be
- // called again but it is fine.
- doFocus(true);
- if (mShutterButton.isInTouchMode()) {
- mShutterButton.requestFocusFromTouch();
- } else {
- mShutterButton.requestFocus();
- }
- mShutterButton.setPressed(true);
- }
- return true;
- }
-
- return super.onKeyDown(keyCode, event);
- }
-
- @Override
- public boolean onKeyUp(int keyCode, KeyEvent event) {
- switch (keyCode) {
- case KeyEvent.KEYCODE_FOCUS:
- if (mFirstTimeInitialized) {
- doFocus(false);
- }
- return true;
- case KeyEvent.KEYCODE_MENU:
- if (mIsImageCaptureIntent) {
- showOnScreenSettings();
- return true;
- }
- break;
- }
- return super.onKeyUp(keyCode, event);
- }
-
- private void doSnap() {
- Log.v(TAG, "doSnap: mFocusState=" + mFocusState);
- // If the user has half-pressed the shutter and focus is completed, we
- // can take the photo right away. If the focus mode is infinity, we can
- // also take the photo.
- if (mFocusMode.equals(Parameters.FOCUS_MODE_INFINITY)
- || (mFocusState == FOCUS_SUCCESS
- || mFocusState == FOCUS_FAIL)) {
- if (mZoomButtons != null) mZoomButtons.setVisible(false);
- mImageCapture.onSnap();
- } else if (mFocusState == FOCUSING) {
- // Half pressing the shutter (i.e. the focus button event) will
- // already have requested AF for us, so just request capture on
- // focus here.
- mFocusState = FOCUSING_SNAP_ON_FINISH;
- } else if (mFocusState == FOCUS_NOT_STARTED) {
- // Focus key down event is dropped for some reasons. Just ignore.
- }
- }
-
- private void doFocus(boolean pressed) {
- // Do the focus if the mode is not infinity.
- if (!mFocusMode.equals(Parameters.FOCUS_MODE_INFINITY)) {
- if (pressed) { // Focus key down.
- autoFocus();
- } else { // Focus key up.
- cancelAutoFocus();
- }
- }
- }
-
- public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
- // Make sure we have a surface in the holder before proceeding.
- if (holder.getSurface() == null) {
- Log.d(TAG, "holder.getSurface() == null");
- return;
- }
-
- // The mCameraDevice will be null if it fails to connect to the camera
- // hardware. In this case we will show a dialog and then finish the
- // activity, so it's OK to ignore it.
- if (mCameraDevice == null) return;
-
- mSurfaceHolder = holder;
-
- // Sometimes surfaceChanged is called after onPause. Ignore it.
- if (mPausing || isFinishing()) return;
-
- // Set preview display if the surface is being created. Preview was
- // already started.
- if (holder.isCreating()) {
- setPreviewDisplay(holder);
- }
-
- // If first time initialization is not finished, send a message to do
- // it later. We want to finish surfaceChanged as soon as possible to let
- // user see preview first.
- if (!mFirstTimeInitialized) {
- mHandler.sendEmptyMessage(FIRST_TIME_INIT);
- } else {
- initializeSecondTime();
- }
- }
-
- public void surfaceCreated(SurfaceHolder holder) {
- }
-
- public void surfaceDestroyed(SurfaceHolder holder) {
- stopPreview();
- mSurfaceHolder = null;
- }
-
- private void closeCamera() {
- if (mCameraDevice != null) {
- CameraHolder.instance().release();
- mCameraDevice = null;
- mPreviewing = false;
- }
- }
-
- private void ensureCameraDevice() throws CameraHardwareException {
- if (mCameraDevice == null) {
- mCameraDevice = CameraHolder.instance().open();
- mInitialParams = mCameraDevice.getParameters();
- }
- }
-
- private void updateLastImage() {
- IImageList list = ImageManager.makeImageList(
- mContentResolver,
- dataLocation(),
- ImageManager.INCLUDE_IMAGES,
- ImageManager.SORT_ASCENDING,
- ImageManager.CAMERA_IMAGE_BUCKET_ID);
- int count = list.getCount();
- if (count > 0) {
- IImage image = list.getImageAt(count - 1);
- Uri uri = image.fullSizeImageUri();
- mThumbController.setData(uri, image.miniThumbBitmap());
- } else {
- mThumbController.setData(null, null);
- }
- list.close();
- }
-
- private void showCameraErrorAndFinish() {
- Resources ress = getResources();
- Util.showFatalErrorAndFinish(Camera.this,
- ress.getString(R.string.camera_error_title),
- ress.getString(R.string.cannot_connect_camera));
- }
-
- private void restartPreview() {
- // make sure the surfaceview fills the whole screen when previewing
- try {
- startPreview();
- } catch (CameraHardwareException e) {
- showCameraErrorAndFinish();
- return;
- }
-
- // Calculate this in advance of each shot so we don't add to shutter
- // latency. It's true that someone else could write to the SD card in
- // the mean time and fill it, but that could have happened between the
- // shutter press and saving the JPEG too.
- calculatePicturesRemaining();
- }
-
- private void setPreviewDisplay(SurfaceHolder holder) {
- try {
- mCameraDevice.setPreviewDisplay(holder);
- } catch (Throwable ex) {
- closeCamera();
- throw new RuntimeException("setPreviewDisplay failed", ex);
- }
- }
-
- private void startPreview() throws CameraHardwareException {
- if (mPausing || isFinishing()) return;
-
- ensureCameraDevice();
-
- // If we're previewing already, stop the preview first (this will blank
- // the screen).
- if (mPreviewing) stopPreview();
-
- setPreviewDisplay(mSurfaceHolder);
- setCameraParameters();
-
- final long wallTimeStart = SystemClock.elapsedRealtime();
- final long threadTimeStart = Debug.threadCpuTimeNanos();
-
- // Set one shot preview callback for latency measurement.
- mCameraDevice.setOneShotPreviewCallback(mOneShotPreviewCallback);
- mCameraDevice.setErrorCallback(mErrorCallback);
-
- try {
- Log.v(TAG, "startPreview");
- mCameraDevice.startPreview();
- } catch (Throwable ex) {
- closeCamera();
- throw new RuntimeException("startPreview failed", ex);
- }
- mPreviewing = true;
- mStatus = IDLE;
-
- long threadTimeEnd = Debug.threadCpuTimeNanos();
- long wallTimeEnd = SystemClock.elapsedRealtime();
- if ((wallTimeEnd - wallTimeStart) > 3000) {
- Log.w(TAG, "startPreview() to " + (wallTimeEnd - wallTimeStart)
- + " ms. Thread time was"
- + (threadTimeEnd - threadTimeStart) / 1000000 + " ms.");
- }
- }
-
- private void stopPreview() {
- if (mCameraDevice != null && mPreviewing) {
- Log.v(TAG, "stopPreview");
- mCameraDevice.stopPreview();
- }
- mPreviewing = false;
- // If auto focus was in progress, it would have been canceled.
- clearFocusState();
- }
-
- private Size getOptimalPreviewSize(List<Size> sizes, double targetRatio) {
- final double ASPECT_TOLERANCE = 0.05;
- if (sizes == null) return null;
-
- Size optimalSize = null;
- double minDiff = Double.MAX_VALUE;
-
- // Because of bugs of overlay and layout, we sometimes will try to
- // layout the viewfinder in the portrait orientation and thus get the
- // wrong size of mSurfaceView. When we change the preview size, the
- // new overlay will be created before the old one closed, which causes
- // an exception. For now, just get the screen size
-
- Display display = getWindowManager().getDefaultDisplay();
- int targetHeight = Math.min(display.getHeight(), display.getWidth());
-
- if (targetHeight <= 0) {
- // We don't know the size of SurefaceView, use screen height
- WindowManager windowManager = (WindowManager)
- getSystemService(Context.WINDOW_SERVICE);
- targetHeight = windowManager.getDefaultDisplay().getHeight();
- }
-
- // Try to find an size match aspect ratio and size
- for (Size size : sizes) {
- double ratio = (double) size.width / size.height;
- if (Math.abs(ratio - targetRatio) > ASPECT_TOLERANCE) continue;
- if (Math.abs(size.height - targetHeight) < minDiff) {
- optimalSize = size;
- minDiff = Math.abs(size.height - targetHeight);
- }
- }
-
- // Cannot find the one match the aspect ratio, ignore the requirement
- if (optimalSize == null) {
- Log.v(TAG, "No preview size match the aspect ratio");
- minDiff = Double.MAX_VALUE;
- for (Size size : sizes) {
- if (Math.abs(size.height - targetHeight) < minDiff) {
- optimalSize = size;
- minDiff = Math.abs(size.height - targetHeight);
- }
- }
- }
- Log.v(TAG, String.format(
- "Optimal preview size is %sx%s",
- optimalSize.width, optimalSize.height));
- return optimalSize;
- }
-
- private static boolean isSupported(String value, List<String> supported) {
- return supported == null ? false : supported.indexOf(value) >= 0;
- }
-
- private void setCameraParameters() {
- mParameters = mCameraDevice.getParameters();
-
- // Since change scene mode may change supported values,
- // Set scene mode first,
- String sceneMode = mPreferences.getString(
- CameraSettings.KEY_SCENE_MODE,
- getString(R.string.pref_camera_scenemode_default));
- if (isSupported(sceneMode, mParameters.getSupportedSceneModes())) {
- if (!mParameters.getSceneMode().equals(sceneMode)) {
- mParameters.setSceneMode(sceneMode);
- mCameraDevice.setParameters(mParameters);
-
- // Setting scene mode will change the settings of flash mode, white
- // balance, and focus mode. So read back here, so that we know
- // what're the settings
- mParameters = mCameraDevice.getParameters();
- }
- } else {
- sceneMode = mParameters.getSceneMode();
- if (sceneMode == null) {
- sceneMode = Parameters.SCENE_MODE_AUTO;
- }
- }
-
- // Reset preview frame rate to the maximum because it may be lowered by
- // video camera application.
- List<Integer> frameRates = mParameters.getSupportedPreviewFrameRates();
- if (frameRates != null) {
- Integer max = Collections.max(frameRates);
- mParameters.setPreviewFrameRate(max);
- }
-
- // Set picture size.
- String pictureSize = mPreferences.getString(
- CameraSettings.KEY_PICTURE_SIZE, null);
- if (pictureSize == null) {
- CameraSettings.initialCameraPictureSize(this, mParameters);
- } else {
- List<Size> supported = mParameters.getSupportedPictureSizes();
- CameraSettings.setCameraPictureSize(
- pictureSize, supported, mParameters);
- }
-
- // Set the preview frame aspect ratio according to the picture size.
- Size size = mParameters.getPictureSize();
- PreviewFrameLayout frameLayout =
- (PreviewFrameLayout) findViewById(R.id.frame_layout);
- frameLayout.setAspectRatio((double) size.width / size.height);
-
- // Set a preview size that is closest to the viewfinder height and has
- // the right aspect ratio.
- List<Size> sizes = mParameters.getSupportedPreviewSizes();
- Size optimalSize = getOptimalPreviewSize(
- sizes, (double) size.width / size.height);
- if (optimalSize != null) {
- mParameters.setPreviewSize(optimalSize.width, optimalSize.height);
- }
-
- // Set JPEG quality.
- String jpegQuality = mPreferences.getString(
- CameraSettings.KEY_JPEG_QUALITY,
- getString(R.string.pref_camera_jpegquality_default));
- mParameters.setJpegQuality(Integer.parseInt(jpegQuality));
-
- // For the following settings, we need to check if the settings are
- // still supported by latest driver, if not, ignore the settings.
-
- // Set color effect parameter.
- String colorEffect = mPreferences.getString(
- CameraSettings.KEY_COLOR_EFFECT,
- getString(R.string.pref_camera_coloreffect_default));
- if (isSupported(colorEffect, mParameters.getSupportedColorEffects())) {
- mParameters.setColorEffect(colorEffect);
- }
-
- // If scene mode is set, we cannot set flash mode, white balance, and
- // focus mode, instead, we read it from driver
- String flashMode;
- String whiteBalance;
- if (!Parameters.SCENE_MODE_AUTO.equals(sceneMode)) {
- flashMode = mParameters.getFlashMode();
- whiteBalance = mParameters.getWhiteBalance();
- mFocusMode = mParameters.getFocusMode();
- if (mSettings != null) {
- mSettings.overrideSettings(
- CameraSettings.KEY_FLASH_MODE, flashMode);
- mSettings.overrideSettings(
- CameraSettings.KEY_WHITE_BALANCE, whiteBalance);
- mSettings.overrideSettings(
- CameraSettings.KEY_FOCUS_MODE, mFocusMode);
- }
- } else {
- if (mSettings != null) {
- mSettings.overrideSettings(CameraSettings.KEY_FLASH_MODE, null);
- mSettings.overrideSettings(CameraSettings.KEY_FOCUS_MODE, null);
- mSettings.overrideSettings(
- CameraSettings.KEY_WHITE_BALANCE, null);
- }
-
- // Set flash mode.
- flashMode = mPreferences.getString(
- CameraSettings.KEY_FLASH_MODE,
- getString(R.string.pref_camera_flashmode_default));
- List<String> supportedFlash = mParameters.getSupportedFlashModes();
- if (isSupported(flashMode, supportedFlash)) {
- mParameters.setFlashMode(flashMode);
- } else {
- flashMode = mParameters.getFlashMode();
- if (flashMode == null) {
- flashMode = NO_FLASH_MODE;
- }
- }
-
- // Set white balance parameter.
- whiteBalance = mPreferences.getString(
- CameraSettings.KEY_WHITE_BALANCE,
- getString(R.string.pref_camera_whitebalance_default));
- if (isSupported(whiteBalance,
- mParameters.getSupportedWhiteBalance())) {
- mParameters.setWhiteBalance(whiteBalance);
- } else {
- whiteBalance = mParameters.getWhiteBalance();
- if (whiteBalance == null) {
- whiteBalance = Parameters.WHITE_BALANCE_AUTO;
- }
- }
-
- // Set focus mode.
- mFocusMode = mPreferences.getString(
- CameraSettings.KEY_FOCUS_MODE,
- getString(R.string.pref_camera_focusmode_default));
- if (isSupported(mFocusMode, mParameters.getSupportedFocusModes())) {
- mParameters.setFocusMode(mFocusMode);
- } else {
- mFocusMode = mParameters.getFocusMode();
- if (mFocusMode == null) {
- mFocusMode = Parameters.FOCUS_MODE_AUTO;
- }
- }
-
- mCameraDevice.setParameters(mParameters);
- }
-
- // We post the runner because this function can be called from
- // non-UI thread (i.e., startPreviewThread).
- final String finalWhiteBalance = whiteBalance;
- final String finalFlashMode = flashMode;
- final String finalSceneMode =
- Parameters.SCENE_MODE_AUTO.equals(sceneMode)
- ? SCENE_MODE_OFF
- : SCENE_MODE_ON;
-
- mHandler.post(new Runnable() {
- public void run() {
- mFocusIndicator.setMode(mFocusMode);
- mWhitebalanceIndicator.setMode(finalWhiteBalance);
- mSceneModeIndicator.setMode(finalSceneMode);
- mFlashIndicator.setMode(finalFlashMode);
- }
- });
- }
-
- private void gotoGallery() {
- MenuHelper.gotoCameraImageGallery(this);
- }
-
- private void viewLastImage() {
- if (mThumbController.isUriValid()) {
- Uri targetUri = mThumbController.getUri();
- targetUri = targetUri.buildUpon().appendQueryParameter(
- "bucketId", ImageManager.CAMERA_IMAGE_BUCKET_ID).build();
- Intent intent = new Intent(this, ReviewImage.class);
- intent.setData(targetUri);
- intent.putExtra(MediaStore.EXTRA_FULL_SCREEN, true);
- intent.putExtra(MediaStore.EXTRA_SHOW_ACTION_ICONS, true);
- intent.putExtra("com.android.camera.ReviewMode", true);
- try {
- startActivity(intent);
- } catch (ActivityNotFoundException ex) {
- Log.e(TAG, "review image fail", ex);
- }
- } else {
- Log.e(TAG, "Can't view last image.");
- }
- }
-
- private void startReceivingLocationUpdates() {
- if (mLocationManager != null) {
- try {
- mLocationManager.requestLocationUpdates(
- LocationManager.NETWORK_PROVIDER,
- 1000,
- 0F,
- mLocationListeners[1]);
- } catch (java.lang.SecurityException ex) {
- Log.i(TAG, "fail to request location update, ignore", ex);
- } catch (IllegalArgumentException ex) {
- Log.d(TAG, "provider does not exist " + ex.getMessage());
- }
- try {
- mLocationManager.requestLocationUpdates(
- LocationManager.GPS_PROVIDER,
- 1000,
- 0F,
- mLocationListeners[0]);
- } catch (java.lang.SecurityException ex) {
- Log.i(TAG, "fail to request location update, ignore", ex);
- } catch (IllegalArgumentException ex) {
- Log.d(TAG, "provider does not exist " + ex.getMessage());
- }
- }
- }
-
- private void stopReceivingLocationUpdates() {
- if (mLocationManager != null) {
- for (int i = 0; i < mLocationListeners.length; i++) {
- try {
- mLocationManager.removeUpdates(mLocationListeners[i]);
- } catch (Exception ex) {
- Log.i(TAG, "fail to remove location listners, ignore", ex);
- }
- }
- }
- }
-
- private Location getCurrentLocation() {
- // go in best to worst order
- for (int i = 0; i < mLocationListeners.length; i++) {
- Location l = mLocationListeners[i].current();
- if (l != null) return l;
- }
- return null;
- }
-
- private boolean isCameraIdle() {
- return mStatus == IDLE && mFocusState == FOCUS_NOT_STARTED;
- }
-
- private boolean isImageCaptureIntent() {
- String action = getIntent().getAction();
- return (MediaStore.ACTION_IMAGE_CAPTURE.equals(action));
- }
-
- private void setupCaptureParams() {
- Bundle myExtras = getIntent().getExtras();
- if (myExtras != null) {
- mSaveUri = (Uri) myExtras.getParcelable(MediaStore.EXTRA_OUTPUT);
- mCropValue = myExtras.getString("crop");
- }
- }
-
- private void showPostCaptureAlert() {
- if (mIsImageCaptureIntent) {
- findViewById(R.id.shutter_button).setVisibility(View.INVISIBLE);
- int[] pickIds = {R.id.btn_retake, R.id.btn_done};
- for (int id : pickIds) {
- View button = findViewById(id);
- ((View) button.getParent()).setVisibility(View.VISIBLE);
- }
- }
- }
-
- private void hidePostCaptureAlert() {
- if (mIsImageCaptureIntent) {
- findViewById(R.id.shutter_button).setVisibility(View.VISIBLE);
- int[] pickIds = {R.id.btn_retake, R.id.btn_done};
- for (int id : pickIds) {
- View button = findViewById(id);
- ((View) button.getParent()).setVisibility(View.GONE);
- }
- }
- }
-
- private int calculatePicturesRemaining() {
- mPicturesRemaining = MenuHelper.calculatePicturesRemaining();
- return mPicturesRemaining;
- }
-
- @Override
- public boolean onPrepareOptionsMenu(Menu menu) {
- super.onPrepareOptionsMenu(menu);
- // Only show the menu when camera is idle.
- for (int i = 0; i < menu.size(); i++) {
- menu.getItem(i).setVisible(isCameraIdle());
- }
-
- return true;
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
-
- if (mIsImageCaptureIntent) {
- // No options menu for attach mode.
- return false;
- } else {
- addBaseMenuItems(menu);
- }
- return true;
- }
-
- private void addBaseMenuItems(Menu menu) {
- MenuItem gallery = menu.add(Menu.NONE, Menu.NONE,
- MenuHelper.POSITION_GOTO_GALLERY,
- R.string.camera_gallery_photos_text)
- .setOnMenuItemClickListener(new OnMenuItemClickListener() {
- public boolean onMenuItemClick(MenuItem item) {
- gotoGallery();
- return true;
- }
- });
- gallery.setIcon(android.R.drawable.ic_menu_gallery);
- mGalleryItems.add(gallery);
-
- MenuItem item = menu.add(Menu.NONE, Menu.NONE,
- MenuHelper.POSITION_CAMERA_SETTING, R.string.settings)
- .setOnMenuItemClickListener(new OnMenuItemClickListener() {
- public boolean onMenuItemClick(MenuItem item) {
- showOnScreenSettings();
- return true;
- }
- });
- item.setIcon(android.R.drawable.ic_menu_preferences);
- }
-
- public boolean onSwitchChanged(Switcher source, boolean onOff) {
- if (onOff == SWITCH_VIDEO) {
- if (!isCameraIdle()) return false;
- MenuHelper.gotoVideoMode(this);
- finish();
- }
- return true;
- }
-
- public void onSharedPreferenceChanged(
- SharedPreferences preferences, String key) {
- // ignore the events after "onPause()"
- if (mPausing) return;
-
- if (CameraSettings.KEY_RECORD_LOCATION.equals(key)) {
- mRecordLocation = preferences.getBoolean(key, false);
- if (mRecordLocation) {
- startReceivingLocationUpdates();
- } else {
- stopReceivingLocationUpdates();
- }
- } else {
- // All preferences except RECORD_LOCATION are camera parameters.
- // Call setCameraParameters to take effect now.
- setCameraParameters();
- }
- }
-
- @Override
- public void onUserInteraction() {
- super.onUserInteraction();
- keepScreenOnAwhile();
- }
-
- private void resetScreenOn() {
- mHandler.removeMessages(CLEAR_SCREEN_DELAY);
- getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- }
-
- private void keepScreenOnAwhile() {
- mHandler.removeMessages(CLEAR_SCREEN_DELAY);
- getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- mHandler.sendEmptyMessageDelayed(CLEAR_SCREEN_DELAY, SCREEN_DELAY);
- }
-}
-
-class FocusRectangle extends View {
-
- @SuppressWarnings("unused")
- private static final String TAG = "FocusRectangle";
-
- public FocusRectangle(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- private void setDrawable(int resid) {
- setBackgroundDrawable(getResources().getDrawable(resid));
- }
-
- public void showStart() {
- setDrawable(R.drawable.focus_focusing);
- }
-
- public void showSuccess() {
- setDrawable(R.drawable.focus_focused);
- }
-
- public void showFail() {
- setDrawable(R.drawable.focus_focus_failed);
- }
-
- public void clear() {
- setBackgroundDrawable(null);
- }
-}
diff --git a/src/com/android/camera/CameraButtonIntentReceiver.java b/src/com/android/camera/CameraButtonIntentReceiver.java
deleted file mode 100644
index 4153104..0000000
--- a/src/com/android/camera/CameraButtonIntentReceiver.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-
-public class CameraButtonIntentReceiver extends BroadcastReceiver {
-
- @Override
- public void onReceive(Context context, Intent intent) {
- // Try to get the camera hardware
- CameraHolder holder = CameraHolder.instance();
- if (holder.tryOpen() == null) return;
-
- // We are going to launch the camera, so hold the camera for later use
- holder.keep();
- holder.release();
- Intent i = new Intent(Intent.ACTION_MAIN);
- i.setClass(context, Camera.class);
- i.addCategory(Intent.CATEGORY_LAUNCHER);
- i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
- | Intent.FLAG_ACTIVITY_CLEAR_TOP);
- context.startActivity(i);
- }
-}
diff --git a/src/com/android/camera/CameraHardwareException.java b/src/com/android/camera/CameraHardwareException.java
deleted file mode 100644
index a975cbd..0000000
--- a/src/com/android/camera/CameraHardwareException.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-public class CameraHardwareException extends Exception {
- private static final long serialVersionUID = -4453804913829319918L;
-
- public CameraHardwareException() {
- }
-
- public CameraHardwareException(Throwable t) {
- super(t);
- }
-}
diff --git a/src/com/android/camera/CameraHolder.java b/src/com/android/camera/CameraHolder.java
deleted file mode 100644
index 7fd2b4e..0000000
--- a/src/com/android/camera/CameraHolder.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-import static com.android.camera.Util.Assert;
-
-import android.hardware.Camera.Parameters;
-import android.os.Build;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.Looper;
-import android.os.Message;
-import android.util.Log;
-
-import java.io.IOException;
-
-//
-// CameraHolder is used to hold an android.hardware.Camera instance.
-//
-// The open() and release() calls are similar to the ones in
-// android.hardware.Camera. The difference is if keep() is called before
-// release(), CameraHolder will try to hold the android.hardware.Camera
-// instance for a while, so if open() call called soon after, we can avoid
-// the cost of open() in android.hardware.Camera.
-//
-// This is used in switching between Camera and VideoCamera activities.
-//
-public class CameraHolder {
- private static final String TAG = "CameraHolder";
- private android.hardware.Camera mCameraDevice;
- private long mKeepBeforeTime = 0; // Keep the Camera before this time.
- private final Handler mHandler;
- private int mUsers = 0; // number of open() - number of release()
-
- // We store the camera parameters when we actually open the device,
- // so we can restore them in the subsequent open() requests by the user.
- // This prevents the parameters set by the Camera activity used by
- // the VideoCamera activity inadvertently.
- private Parameters mParameters;
-
- // Use a singleton.
- private static CameraHolder sHolder;
- public static synchronized CameraHolder instance() {
- if (sHolder == null) {
- sHolder = new CameraHolder();
- }
- return sHolder;
- }
-
- private static final int RELEASE_CAMERA = 1;
- private class MyHandler extends Handler {
- MyHandler(Looper looper) {
- super(looper);
- }
-
- @Override
- public void handleMessage(Message msg) {
- switch(msg.what) {
- case RELEASE_CAMERA:
- releaseCamera();
- break;
- }
- }
- }
-
- private CameraHolder() {
- HandlerThread ht = new HandlerThread("CameraHolder");
- ht.start();
- mHandler = new MyHandler(ht.getLooper());
- }
-
- public synchronized android.hardware.Camera open()
- throws CameraHardwareException {
- Assert(mUsers == 0);
- if (mCameraDevice == null) {
- try {
- mCameraDevice = android.hardware.Camera.open();
- } catch (RuntimeException e) {
- Log.e(TAG, "fail to connect Camera", e);
- throw new CameraHardwareException(e);
- }
- mParameters = mCameraDevice.getParameters();
- } else {
- try {
- mCameraDevice.reconnect();
- } catch (IOException e) {
- Log.e(TAG, "reconnect failed.");
- throw new CameraHardwareException(e);
- }
- mCameraDevice.setParameters(mParameters);
- }
- ++mUsers;
- mHandler.removeMessages(RELEASE_CAMERA);
- mKeepBeforeTime = 0;
- return mCameraDevice;
- }
-
- /**
- * Tries to open the hardware camera. If the camera is being used or
- * unavailable then return {@code null}.
- */
- public synchronized android.hardware.Camera tryOpen() {
- try {
- return mUsers == 0 ? open() : null;
- } catch (CameraHardwareException e) {
- // In eng build, we throw the exception so that test tool
- // can detect it and report it
- if ("eng".equals(Build.TYPE)) {
- throw new RuntimeException(e);
- }
- return null;
- }
- }
-
- public synchronized void release() {
- Assert(mUsers == 1);
- --mUsers;
- mCameraDevice.stopPreview();
- releaseCamera();
- }
-
- private synchronized void releaseCamera() {
- Assert(mUsers == 0);
- Assert(mCameraDevice != null);
- long now = System.currentTimeMillis();
- if (now < mKeepBeforeTime) {
- mHandler.sendEmptyMessageDelayed(RELEASE_CAMERA,
- mKeepBeforeTime - now);
- return;
- }
- mCameraDevice.release();
- mCameraDevice = null;
- }
-
- public synchronized void keep() {
- // We allow (mUsers == 0) for the convenience of the calling activity.
- // The activity may not have a chance to call open() before the user
- // choose the menu item to switch to another activity.
- Assert(mUsers == 1 || mUsers == 0);
- // Keep the camera instance for 3 seconds.
- mKeepBeforeTime = System.currentTimeMillis() + 3000;
- }
-}
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
deleted file mode 100644
index 46f1ed5..0000000
--- a/src/com/android/camera/CameraSettings.java
+++ /dev/null
@@ -1,258 +0,0 @@
-package com.android.camera;
-
-import com.android.gallery.R;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.graphics.drawable.Drawable;
-import android.hardware.Camera.Parameters;
-import android.hardware.Camera.Size;
-import android.os.SystemProperties;
-import android.preference.ListPreference;
-import android.preference.Preference;
-import android.preference.PreferenceGroup;
-import android.preference.PreferenceManager;
-import android.preference.PreferenceScreen;
-import android.util.Log;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class CameraSettings {
- private static final int FIRST_REQUEST_CODE = 100;
- private static final int NOT_FOUND = -1;
-
- public static final String KEY_VERSION = "pref_version_key";
- public static final String KEY_RECORD_LOCATION =
- "pref_camera_recordlocation_key";
- public static final String KEY_VIDEO_QUALITY =
- "pref_camera_videoquality_key";
- public static final String KEY_VIDEO_DURATION =
- "pref_camera_video_duration_key";
- public static final String KEY_PICTURE_SIZE = "pref_camera_picturesize_key";
- public static final String KEY_JPEG_QUALITY = "pref_camera_jpegquality_key";
- public static final String KEY_FOCUS_MODE = "pref_camera_focusmode_key";
- public static final String KEY_FLASH_MODE = "pref_camera_flashmode_key";
- public static final String KEY_COLOR_EFFECT = "pref_camera_coloreffect_key";
- public static final String KEY_WHITE_BALANCE =
- "pref_camera_whitebalance_key";
- public static final String KEY_SCENE_MODE = "pref_camera_scenemode_key";
-
- public static final int CURRENT_VERSION = 1;
-
- // max mms video duration in seconds.
- public static final int MMS_VIDEO_DURATION =
- SystemProperties.getInt("ro.media.enc.lprof.duration", 60);
-
- public static final boolean DEFAULT_VIDEO_QUALITY_VALUE = true;
-
- // MMS video length
- public static final int DEFAULT_VIDEO_DURATION_VALUE = -1;
-
- @SuppressWarnings("unused")
- private static final String TAG = "CameraSettings";
-
- private final Context mContext;
- private final Parameters mParameters;
- private final PreferenceManager mManager;
-
- public CameraSettings(Activity activity, Parameters parameters) {
- mContext = activity;
- mParameters = parameters;
- mManager = new PreferenceManager(activity, FIRST_REQUEST_CODE);
- }
-
- public PreferenceScreen getPreferenceScreen(int preferenceRes) {
- PreferenceScreen screen = mManager.createPreferenceScreen(mContext);
- mManager.inflateFromResource(mContext, preferenceRes, screen);
- initPreference(screen);
- return screen;
- }
-
- public static void initialCameraPictureSize(
- Context context, Parameters parameters) {
- // When launching the camera app first time, we will set the picture
- // size to the first one in the list defined in "arrays.xml" and is also
- // supported by the driver.
- List<Size> supported = parameters.getSupportedPictureSizes();
- if (supported == null) return;
- for (String candidate : context.getResources().getStringArray(
- R.array.pref_camera_picturesize_entryvalues)) {
- if (setCameraPictureSize(candidate, supported, parameters)) {
- SharedPreferences.Editor editor = PreferenceManager
- .getDefaultSharedPreferences(context).edit();
- editor.putString(KEY_PICTURE_SIZE, candidate);
- editor.commit();
- return;
- }
- }
- }
-
- public static void removePreferenceFromScreen(
- PreferenceScreen screen, String key) {
- Preference pref = screen.findPreference(key);
- if (pref == null) {
- Log.i(TAG, "No preference found based the key : " + key);
- throw new IllegalArgumentException();
- } else {
- removePreference(screen, pref);
- }
- }
-
- public static boolean setCameraPictureSize(
- String candidate, List<Size> supported, Parameters parameters) {
- int index = candidate.indexOf('x');
- if (index == NOT_FOUND) return false;
- int width = Integer.parseInt(candidate.substring(0, index));
- int height = Integer.parseInt(candidate.substring(index + 1));
- for (Size size: supported) {
- if (size.width == width && size.height == height) {
- parameters.setPictureSize(width, height);
- return true;
- }
- }
- return false;
- }
-
- private void initPreference(PreferenceScreen screen) {
- ListPreference videoDuration =
- (ListPreference) screen.findPreference(KEY_VIDEO_DURATION);
- ListPreference pictureSize =
- (ListPreference) screen.findPreference(KEY_PICTURE_SIZE);
- ListPreference whiteBalance =
- (ListPreference) screen.findPreference(KEY_WHITE_BALANCE);
- ListPreference colorEffect =
- (ListPreference) screen.findPreference(KEY_COLOR_EFFECT);
- ListPreference sceneMode =
- (ListPreference) screen.findPreference(KEY_SCENE_MODE);
- ListPreference flashMode =
- (ListPreference) screen.findPreference(KEY_FLASH_MODE);
- ListPreference focusMode =
- (ListPreference) screen.findPreference(KEY_FOCUS_MODE);
-
- // Since the screen could be loaded from different resources, we need
- // to check if the preference is available here
- if (videoDuration != null) {
- // Modify video duration settings.
- // The first entry is for MMS video duration, and we need to fill
- // in the device-dependent value (in seconds).
- CharSequence[] entries = videoDuration.getEntries();
- entries[0] = String.format(
- entries[0].toString(), MMS_VIDEO_DURATION);
- }
-
- // Filter out unsupported settings / options
- if (pictureSize != null) {
- filterUnsupportedOptions(screen, pictureSize, sizeListToStringList(
- mParameters.getSupportedPictureSizes()));
- }
- if (whiteBalance != null) {
- filterUnsupportedOptions(screen,
- whiteBalance, mParameters.getSupportedWhiteBalance());
- }
- if (colorEffect != null) {
- filterUnsupportedOptions(screen,
- colorEffect, mParameters.getSupportedColorEffects());
- }
- if (sceneMode != null) {
- filterUnsupportedOptions(screen,
- sceneMode, mParameters.getSupportedSceneModes());
- }
- if (flashMode != null) {
- filterUnsupportedOptions(screen,
- flashMode, mParameters.getSupportedFlashModes());
- }
- if (focusMode != null) {
- filterUnsupportedOptions(screen,
- focusMode, mParameters.getSupportedFocusModes());
- }
- }
-
- private static boolean removePreference(PreferenceGroup group,
- Preference remove) {
- if (group.removePreference(remove)) return true;
-
- for (int i = 0; i < group.getPreferenceCount(); i++) {
- final Preference child = group.getPreference(i);
- if (child instanceof PreferenceGroup) {
- if (removePreference((PreferenceGroup) child, remove)) {
- return true;
- }
- }
- }
- return false;
- }
-
- private void filterUnsupportedOptions(PreferenceScreen screen,
- ListPreference pref, List<String> supported) {
-
- CharSequence[] allEntries = pref.getEntries();
-
- // Remove the preference if the parameter is not supported or there is
- // only one options for the settings.
- if (supported == null || supported.size() <= 1) {
- removePreference(screen, pref);
- return;
- }
-
- CharSequence[] allEntryValues = pref.getEntryValues();
- Drawable[] allIcons = (pref instanceof IconListPreference)
- ? ((IconListPreference) pref).getIcons()
- : null;
- ArrayList<CharSequence> entries = new ArrayList<CharSequence>();
- ArrayList<CharSequence> entryValues = new ArrayList<CharSequence>();
- ArrayList<Drawable> icons =
- allIcons == null ? null : new ArrayList<Drawable>();
- for (int i = 0, len = allEntryValues.length; i < len; i++) {
- if (supported.indexOf(allEntryValues[i].toString()) != NOT_FOUND) {
- entries.add(allEntries[i]);
- entryValues.add(allEntryValues[i]);
- if (allIcons != null) icons.add(allIcons[i]);
- }
- }
-
- // Set entries and entry values to list preference.
- int size = entries.size();
- pref.setEntries(entries.toArray(new CharSequence[size]));
- pref.setEntryValues(entryValues.toArray(new CharSequence[size]));
- if (allIcons != null) {
- ((IconListPreference) pref)
- .setIcons(icons.toArray(new Drawable[size]));
- }
-
- // Set the value to the first entry if it is invalid.
- String value = pref.getValue();
- if (pref.findIndexOfValue(value) == NOT_FOUND) {
- pref.setValueIndex(0);
- }
- }
-
- private static List<String> sizeListToStringList(List<Size> sizes) {
- ArrayList<String> list = new ArrayList<String>();
- for (Size size : sizes) {
- list.add(String.format("%dx%d", size.width, size.height));
- }
- return list;
- }
-
- public static void upgradePreferences(SharedPreferences pref) {
- int version;
- try {
- version = pref.getInt(KEY_VERSION, 0);
- } catch (Exception ex) {
- version = 0;
- }
- if (version == CURRENT_VERSION) return;
-
- SharedPreferences.Editor editor = pref.edit();
- if (version == 0) {
- // For old version, change 1 to 10 for video duration preference.
- if (pref.getString(KEY_VIDEO_DURATION, "1").equals("1")) {
- editor.putString(KEY_VIDEO_DURATION, "10");
- }
- }
- editor.putInt(KEY_VERSION, CURRENT_VERSION);
- editor.commit();
- }
-}
diff --git a/src/com/android/camera/DrmWallpaper.java b/src/com/android/camera/DrmWallpaper.java
deleted file mode 100644
index 643b876..0000000
--- a/src/com/android/camera/DrmWallpaper.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-import android.content.Intent;
-
-/**
- * Wallpaper picker for DRM images. This just redirects to the standard pick
- * action.
- */
-public class DrmWallpaper extends Wallpaper {
-
- @Override
- protected void formatIntent(Intent intent) {
- super.formatIntent(intent);
- intent.putExtra("pick-drm", true);
- }
-}
diff --git a/src/com/android/camera/IconIndicator.java b/src/com/android/camera/IconIndicator.java
deleted file mode 100644
index e180a3d..0000000
--- a/src/com/android/camera/IconIndicator.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-import com.android.gallery.R;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.content.res.TypedArray;
-import android.graphics.drawable.Drawable;
-import android.util.AttributeSet;
-import android.widget.ImageView;
-
-public class IconIndicator extends ImageView {
-
- private Drawable[] mIcons;
- private CharSequence[] mModes;
-
- public IconIndicator(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- TypedArray a = context.obtainStyledAttributes(
- attrs, R.styleable.IconIndicator, defStyle, 0);
- Drawable icons[] = loadIcons(context.getResources(),
- a.getResourceId(R.styleable.IconIndicator_icons, 0));
- CharSequence modes[] =
- a.getTextArray(R.styleable.IconIndicator_modes);
- a.recycle();
-
- setModesAndIcons(modes, icons);
- setImageDrawable(mIcons.length > 0 ? mIcons[0]: null);
- }
-
- public IconIndicator(Context context, AttributeSet attrs) {
- this(context, attrs, 0);
- }
-
- private Drawable[] loadIcons(Resources resources, int iconsId) {
- TypedArray array = resources.obtainTypedArray(iconsId);
- int n = array.length();
- Drawable drawable[] = new Drawable[n];
- for (int i = 0; i < n; ++i) {
- int id = array.getResourceId(i, 0);
- drawable[i] = id == 0 ? null : resources.getDrawable(id);
- }
- array.recycle();
- return drawable;
- }
-
- private void setModesAndIcons(CharSequence[] modes, Drawable icons[]) {
- if (modes.length != icons.length || icons.length == 0) {
- throw new IllegalArgumentException();
- }
- mIcons = icons;
- mModes = modes;
- }
-
- public void setMode(String mode) {
- for (int i = 0, n = mModes.length; i < n; ++i) {
- if (mModes[i].equals(mode)) {
- setImageDrawable(mIcons[i]);
- return;
- }
- }
- throw new IllegalArgumentException("unknown mode: " + mode);
- }
-}
diff --git a/src/com/android/camera/IconListPreference.java b/src/com/android/camera/IconListPreference.java
deleted file mode 100644
index 6e5d8d8..0000000
--- a/src/com/android/camera/IconListPreference.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-import com.android.gallery.R;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.content.res.TypedArray;
-import android.graphics.drawable.Drawable;
-import android.preference.ListPreference;
-import android.util.AttributeSet;
-
-public class IconListPreference extends ListPreference {
- private Drawable mIcons[];
- private Resources mResources;
-
- public IconListPreference(Context context, AttributeSet attrs) {
- super(context, attrs);
- TypedArray a = context.obtainStyledAttributes(
- attrs, R.styleable.IconListPreference, 0, 0);
- mResources = context.getResources();
- setIcons(a.getResourceId(R.styleable.IconListPreference_icons, 0));
- a.recycle();
- }
-
- public Drawable[] getIcons() {
- return mIcons;
- }
-
- private void setIcons(int iconsRes) {
- TypedArray array = mResources.obtainTypedArray(iconsRes);
- int n = array.length();
- Drawable drawable[] = new Drawable[n];
- for (int i = 0; i < n; ++i) {
- int id = array.getResourceId(i, 0);
- drawable[i] = id == 0 ? null : mResources.getDrawable(id);
- }
- array.recycle();
- mIcons = drawable;
- }
-
- public void setIcons(Drawable[] icons) {
- mIcons = icons;
- }
-}
diff --git a/src/com/android/camera/ImageManager.java b/src/com/android/camera/ImageManager.java
index f2c931d..04b7bd2 100644
--- a/src/com/android/camera/ImageManager.java
+++ b/src/com/android/camera/ImageManager.java
@@ -161,29 +161,6 @@
}
}
- public static int roundOrientation(int orientationInput) {
- int orientation = orientationInput;
- if (orientation == -1) {
- orientation = 0;
- }
-
- orientation = orientation % 360;
- int retVal;
- if (orientation < (0 * 90) + 45) {
- retVal = 0;
- } else if (orientation < (1 * 90) + 45) {
- retVal = 90;
- } else if (orientation < (2 * 90) + 45) {
- retVal = 180;
- } else if (orientation < (3 * 90) + 45) {
- retVal = 270;
- } else {
- retVal = 0;
- }
-
- return retVal;
- }
-
/**
* @return true if the mimetype is an image mimetype.
*/
@@ -216,12 +193,6 @@
return (image instanceof VideoObject);
}
- public static void setImageSize(ContentResolver cr, Uri uri, long size) {
- ContentValues values = new ContentValues();
- values.put(Images.Media.SIZE, size);
- cr.update(uri, values, null, null);
- }
-
//
// Stores a bitmap or a jpeg byte array to a file (using the specified
// directory and filename). Also add an entry to the media store for
@@ -559,19 +530,4 @@
return result;
}
-
- public static String getLastImageThumbPath() {
- return Environment.getExternalStorageDirectory().toString() +
- "/DCIM/.thumbnails/image_last_thumb";
- }
-
- public static String getLastVideoThumbPath() {
- return Environment.getExternalStorageDirectory().toString() +
- "/DCIM/.thumbnails/video_last_thumb";
- }
-
- public static String getTempJpegPath() {
- return Environment.getExternalStorageDirectory().toString() +
- "/DCIM/.tempjpeg";
- }
}
diff --git a/src/com/android/camera/MenuHelper.java b/src/com/android/camera/MenuHelper.java
index 055025a..2d1eb4a 100644
--- a/src/com/android/camera/MenuHelper.java
+++ b/src/com/android/camera/MenuHelper.java
@@ -864,10 +864,6 @@
deleteImpl(activity, onDelete, true);
}
- static void deleteVideo(Activity activity, Runnable onDelete) {
- deleteImpl(activity, onDelete, false);
- }
-
static void deleteImage(
Activity activity, Runnable onDelete, IImage image) {
deleteImpl(activity, onDelete, ImageManager.isImage(image));
@@ -923,54 +919,6 @@
.show();
}
- private static void startCameraActivity(Activity activity, String action) {
- Intent intent = new Intent(action);
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
-
- // Keep the camera instance for a while.
- // This avoids re-opening the camera and saves time.
- CameraHolder.instance().keep();
-
- activity.startActivity(intent);
- }
-
- public static void gotoVideoMode(Activity activity) {
- startCameraActivity(activity, MediaStore.INTENT_ACTION_VIDEO_CAMERA);
- }
-
- public static void gotoCameraMode(Activity activity) {
- startCameraActivity(
- activity, MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
- }
-
- public static void gotoCameraImageGallery(Activity activity) {
- gotoGallery(activity, R.string.gallery_camera_bucket_name,
- ImageManager.INCLUDE_IMAGES);
- }
-
- public static void gotoCameraVideoGallery(Activity activity) {
- gotoGallery(activity, R.string.gallery_camera_videos_bucket_name,
- ImageManager.INCLUDE_VIDEOS);
- }
-
- private static void gotoGallery(Activity activity, int windowTitleId,
- int mediaTypes) {
- Uri target = Images.Media.INTERNAL_CONTENT_URI.buildUpon()
- .appendQueryParameter("bucketId",
- ImageManager.CAMERA_IMAGE_BUCKET_ID).build();
- Intent intent = new Intent(Intent.ACTION_VIEW, target);
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- intent.putExtra("windowTitle", activity.getString(windowTitleId));
- intent.putExtra("mediaTypes", mediaTypes);
-
- try {
- activity.startActivity(intent);
- } catch (ActivityNotFoundException e) {
- Log.e(TAG, "Could not start gallery activity", e);
- }
- }
-
static void addCapturePictureMenuItems(Menu menu, final Activity activity) {
menu.add(Menu.NONE, Menu.NONE, POSITION_CAPTURE_PICTURE,
R.string.capture_picture)
diff --git a/src/com/android/camera/OnScreenHint.java b/src/com/android/camera/OnScreenHint.java
deleted file mode 100644
index fdda528..0000000
--- a/src/com/android/camera/OnScreenHint.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-import com.android.gallery.R;
-
-import android.content.Context;
-import android.graphics.PixelFormat;
-import android.os.Handler;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.WindowManager;
-import android.widget.TextView;
-
-/**
- * A on-screen hint is a view containing a little message for the user and will
- * be shown on the screen continuously. This class helps you create and show
- * those.
- *
- * <p>
- * When the view is shown to the user, appears as a floating view over the
- * application.
- * <p>
- * The easiest way to use this class is to call one of the static methods that
- * constructs everything you need and returns a new OnScreenHint object.
- */
-public class OnScreenHint {
- static final String TAG = "OnScreenHint";
- static final boolean LOCAL_LOGV = false;
-
- final Context mContext;
- int mGravity = Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM;
- int mX, mY;
- float mHorizontalMargin;
- float mVerticalMargin;
- View mView;
- View mNextView;
-
- private final WindowManager.LayoutParams mParams =
- new WindowManager.LayoutParams();
- private final WindowManager mWM;
- private final Handler mHandler = new Handler();
-
- /**
- * Construct an empty OnScreenHint object. You must call {@link #setView}
- * before you can call {@link #show}.
- *
- * @param context The context to use. Usually your
- * {@link android.app.Application} or
- * {@link android.app.Activity} object.
- */
- public OnScreenHint(Context context) {
- mContext = context;
- mWM = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
- mY = context.getResources().getDimensionPixelSize(
- R.dimen.hint_y_offset);
-
- mParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
- mParams.width = WindowManager.LayoutParams.WRAP_CONTENT;
- mParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
- | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
- mParams.format = PixelFormat.TRANSLUCENT;
- mParams.windowAnimations = R.style.Animation_OnScreenHint;
- mParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_PANEL;
- mParams.setTitle("OnScreenHint");
- }
-
- /**
- * Show the view on the screen.
- */
- public void show() {
- if (mNextView == null) {
- throw new RuntimeException("setView must have been called");
- }
- mHandler.post(mShow);
- }
-
- /**
- * Close the view if it's showing.
- */
- public void cancel() {
- mHandler.post(mHide);
- }
-
- /**
- * Make a standard hint that just contains a text view.
- *
- * @param context The context to use. Usually your
- * {@link android.app.Application} or
- * {@link android.app.Activity} object.
- * @param text The text to show. Can be formatted text.
- *
- */
- public static OnScreenHint makeText(Context context, CharSequence text) {
- OnScreenHint result = new OnScreenHint(context);
-
- LayoutInflater inflate =
- (LayoutInflater) context.getSystemService(
- Context.LAYOUT_INFLATER_SERVICE);
- View v = inflate.inflate(R.layout.on_screen_hint, null);
- TextView tv = (TextView) v.findViewById(R.id.message);
- tv.setText(text);
-
- result.mNextView = v;
-
- return result;
- }
-
- /**
- * Update the text in a OnScreenHint that was previously created using one
- * of the makeText() methods.
- * @param s The new text for the OnScreenHint.
- */
- public void setText(CharSequence s) {
- if (mNextView == null) {
- throw new RuntimeException("This OnScreenHint was not "
- + "created with OnScreenHint.makeText()");
- }
- TextView tv = (TextView) mNextView.findViewById(R.id.message);
- if (tv == null) {
- throw new RuntimeException("This OnScreenHint was not "
- + "created with OnScreenHint.makeText()");
- }
- tv.setText(s);
- }
-
- private synchronized void handleShow() {
- if (mView != mNextView) {
- // remove the old view if necessary
- handleHide();
- mView = mNextView;
- final int gravity = mGravity;
- mParams.gravity = gravity;
- if ((gravity & Gravity.HORIZONTAL_GRAVITY_MASK)
- == Gravity.FILL_HORIZONTAL) {
- mParams.horizontalWeight = 1.0f;
- }
- if ((gravity & Gravity.VERTICAL_GRAVITY_MASK)
- == Gravity.FILL_VERTICAL) {
- mParams.verticalWeight = 1.0f;
- }
- mParams.x = mX;
- mParams.y = mY;
- mParams.verticalMargin = mVerticalMargin;
- mParams.horizontalMargin = mHorizontalMargin;
- if (mView.getParent() != null) {
- mWM.removeView(mView);
- }
- mWM.addView(mView, mParams);
- }
- }
-
- private synchronized void handleHide() {
- if (mView != null) {
- // note: checking parent() just to make sure the view has
- // been added... i have seen cases where we get here when
- // the view isn't yet added, so let's try not to crash.
- if (mView.getParent() != null) {
- mWM.removeView(mView);
- }
- mView = null;
- }
- }
-
- private final Runnable mShow = new Runnable() {
- public void run() {
- handleShow();
- }
- };
-
- private final Runnable mHide = new Runnable() {
- public void run() {
- handleHide();
- }
- };
-}
-
diff --git a/src/com/android/camera/OnScreenSettings.java b/src/com/android/camera/OnScreenSettings.java
deleted file mode 100644
index 2fd00c0..0000000
--- a/src/com/android/camera/OnScreenSettings.java
+++ /dev/null
@@ -1,495 +0,0 @@
-package com.android.camera;
-
-import com.android.gallery.R;
-
-import android.content.Context;
-import android.graphics.PixelFormat;
-import android.os.Handler;
-import android.os.Message;
-import android.preference.ListPreference;
-import android.preference.Preference;
-import android.preference.PreferenceGroup;
-import android.preference.PreferenceScreen;
-import android.view.animation.Animation;
-import android.view.animation.Animation.AnimationListener;
-import android.view.Display;
-import android.view.Gravity;
-import android.view.KeyEvent;
-import android.view.LayoutInflater;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.view.WindowManager.LayoutParams;
-import android.widget.AdapterView;
-import android.widget.BaseAdapter;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.ListView;
-import android.widget.RadioButton;
-import android.widget.TextView;
-import android.widget.AdapterView.OnItemClickListener;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-// Please reference to {@link android.widget.ZoomButtonsController} for detail
-// information about adding window to WindowManager.
-public class OnScreenSettings {
- @SuppressWarnings("unused")
- private static final String TAG = "OnScreenSettings";
- private static final int MSG_POST_SET_VISIBLE = 1;
-
- public interface OnVisibilityChangedListener {
- public void onVisibilityChanged(boolean visibility);
- }
-
- private LayoutParams mContainerLayoutParams;
- private final Context mContext;
- private final Container mContainer;
- private final WindowManager mWindowManager;
- private final View mOwnerView;
- private ListView mMainMenu;
- private ListView mSubMenu;
- private View mMainPanel;
- private boolean mIsVisible = false;
- private OnVisibilityChangedListener mVisibilityListener;
- private MainMenuAdapter mMainAdapter;
-
- private final LayoutInflater mInflater;
-
- // We store the override values here. For a given preference,
- // if the mapping value of the preference key is not null, we will
- // use the value in this map instead of the value read from the preference
- //
- // This is design for the scene mode, for example, in the scene mode
- // "Action", the focus mode will become "infinite" no matter what in the
- // preference settings. So, we need to put a {pref_camera_focusmode_key,
- // "infinite"} entry in this map.
- private HashMap<String, String> mOverride = new HashMap<String, String>();
-
- private final Handler mHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- switch (msg.what) {
- case MSG_POST_SET_VISIBLE:
- setVisible(true);
- break;
- }
- }
- };
-
- public OnScreenSettings(View ownerView) {
- mContext = ownerView.getContext();
- mInflater = (LayoutInflater)
- mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-
- mWindowManager = (WindowManager)
- mContext.getSystemService(Context.WINDOW_SERVICE);
- mOwnerView = ownerView;
- mContainer = createContainer();
- }
-
- public boolean isVisible() {
- return mIsVisible;
- }
-
- public void setOnVisibilityChangedListener(
- OnVisibilityChangedListener listener) {
- mVisibilityListener = listener;
- }
-
- public void setVisible(boolean visible) {
- mHandler.removeMessages(MSG_POST_SET_VISIBLE);
- if (visible) {
- if (mOwnerView.getWindowToken() == null) {
- /*
- * We need a window token to show ourselves, maybe the owner's
- * window hasn't been created yet but it will have been by the
- * time the looper is idle, so post the setVisible(true) call.
- */
- mHandler.sendEmptyMessage(MSG_POST_SET_VISIBLE);
- return;
- }
- }
-
- if (mIsVisible == visible) {
- return;
- }
- mIsVisible = visible;
-
- if (visible) {
- // Update main adapter before show up
- if (mMainAdapter != null) mMainAdapter.notifyDataSetChanged();
- if (mContainerLayoutParams.token == null) {
- mContainerLayoutParams.token = mOwnerView.getWindowToken();
- }
- mSubMenu.setVisibility(View.INVISIBLE);
- mMainMenu.setVisibility(View.VISIBLE);
- mWindowManager.addView(mContainer, mContainerLayoutParams);
- updateLayout();
- } else {
- // Reset the two menus
-
- mWindowManager.removeView(mContainer);
- }
- if (mVisibilityListener != null) {
- mVisibilityListener.onVisibilityChanged(mIsVisible);
- }
- }
-
- // Override the preference settings, if value == null, then disable the
- // override.
- public void overrideSettings(String key, String value) {
- if (value == null) {
- if (mOverride.remove(key) != null && mMainAdapter != null) {
- mMainAdapter.notifyDataSetChanged();
- }
- } else {
- if (mOverride.put(key, value) == null && mMainAdapter != null) {
- mMainAdapter.notifyDataSetChanged();
- }
- }
- }
-
- public void updateLayout() {
- // if the mOwnerView is detached from window then skip.
- if (mOwnerView.getWindowToken() == null) return;
- Display display = mWindowManager.getDefaultDisplay();
-
- mContainerLayoutParams.x = 0;
- mContainerLayoutParams.y = 0;
-
- mContainerLayoutParams.width = display.getWidth() / 2;
- mContainerLayoutParams.height = display.getHeight();
-
- if (mIsVisible) {
- mWindowManager.updateViewLayout(mContainer, mContainerLayoutParams);
- }
- }
-
- private void showSubMenu() {
- Util.slideOut(mMainMenu, Util.DIRECTION_LEFT);
- Util.slideIn(mSubMenu, Util.DIRECTION_RIGHT);
- mSubMenu.requestFocus();
- }
-
- private void closeSubMenu() {
- Util.slideOut(mSubMenu, Util.DIRECTION_RIGHT);
- Util.slideIn(mMainMenu, Util.DIRECTION_LEFT);
- }
-
- private Container createContainer() {
- LayoutParams lp = new LayoutParams(
- LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
- lp.flags = LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
- lp.gravity = Gravity.TOP | Gravity.LEFT;
- lp.height = LayoutParams.WRAP_CONTENT;
- lp.width = LayoutParams.WRAP_CONTENT;
- lp.type = LayoutParams.TYPE_APPLICATION_PANEL;
- lp.format = PixelFormat.OPAQUE;
- lp.windowAnimations = R.style.Animation_OnScreenMenu;
-
- mContainerLayoutParams = lp;
-
- Container container = new Container(mContext);
- container.setLayoutParams(lp);
-
- mInflater.inflate(R.layout.on_screen_menu, container);
-
- mMainPanel = container.findViewById(R.id.main_panel);
- mMainMenu = (ListView) container.findViewById(R.id.menu_view);
- mSubMenu = (ListView) container.findViewById(R.id.sub_menu);
-
- container.findViewById(R.id.btn_gripper)
- .setOnTouchListener(new GripperTouchListener());
-
- return container;
- }
-
- private class GripperTouchListener implements View.OnTouchListener {
- public boolean onTouch(View view, MotionEvent event) {
- switch (event.getAction()) {
- case MotionEvent.ACTION_DOWN:
- return true;
- case MotionEvent.ACTION_UP:
- setVisible(false);
- return true;
- }
- return false;
- }
- }
-
- private boolean onContainerKey(KeyEvent event) {
- switch (event.getKeyCode()) {
- case KeyEvent.KEYCODE_CAMERA:
- case KeyEvent.KEYCODE_FOCUS:
- case KeyEvent.KEYCODE_BACK:
- case KeyEvent.KEYCODE_MENU:
- if (event.getAction() == KeyEvent.ACTION_UP) {
- setVisible(false);
- return true;
- }
- }
- return false;
- }
-
- // Add the preference and it's children recursively to the given list. So
- // that we can show the preference (and it's children) in the list view.
- private static void addPreference(
- Preference preference, ArrayList<Preference> list) {
- list.add(preference);
- if (preference instanceof PreferenceGroup) {
- PreferenceGroup group = (PreferenceGroup) preference;
- for (int i = 0, n = group.getPreferenceCount(); i < n; ++i) {
- Preference child = group.getPreference(i);
- addPreference(child, list);
- }
- }
- }
-
- public void setPreferenceScreen(PreferenceScreen screen) {
- ArrayList<Preference> list = new ArrayList<Preference>();
-
- // We don't want the screen add to the list, we add the first level
- // preference here.
- for (int i = 0, n = screen.getPreferenceCount(); i < n; ++i) {
- addPreference(screen.getPreference(i), list);
- }
- mMainAdapter = new MainMenuAdapter(mContext, list);
- mMainMenu.setAdapter(mMainAdapter);
- mMainMenu.setOnItemClickListener(mMainAdapter);
- }
-
- private View inflateIfNeed(
- View view, int resource, ViewGroup root, boolean attachToRoot) {
- if (view != null) return view;
- return mInflater.inflate(resource, root, attachToRoot);
- }
-
- private class MainMenuAdapter extends BaseAdapter
- implements OnItemClickListener {
- private final ArrayList<Preference> mPreferences;
-
- public MainMenuAdapter(
- Context context, ArrayList<Preference> preferences) {
- mPreferences = preferences;
- }
-
- public void onItemClick(
- AdapterView<?> parent, View view, int position, long id) {
- Preference preference = mPreferences.get(position);
- SubMenuAdapter adapter = new SubMenuAdapter(
- mContext, (ListPreference) preference);
- mSubMenu.setAdapter(adapter);
- mSubMenu.setOnItemClickListener(adapter);
- showSubMenu();
- }
-
- public View getView(int position, View convertView, ViewGroup parent) {
- Preference preference = mPreferences.get(position);
-
- if (preference instanceof PreferenceGroup) {
- convertView = inflateIfNeed(convertView,
- R.layout.on_screen_menu_header, parent, false);
- PreferenceGroup group = (PreferenceGroup) preference;
- ((TextView) convertView.findViewById(
- R.id.title)).setText(group.getTitle());
- } else {
- convertView = inflateIfNeed(convertView,
- R.layout.on_screen_menu_list_item, parent, false);
-
- String override = mOverride.get(preference.getKey());
- TextView title = (TextView)
- convertView.findViewById(R.id.title);
- title.setText(preference.getTitle());
- title.setEnabled(override == null);
-
- TextView summary = (TextView)
- convertView.findViewById(R.id.summary);
- summary.setText(override == null
- ? ((ListPreference) preference).getEntry()
- : override);
- summary.setEnabled(override == null);
-
- // A little trick here, making the view focusable will eat
- // both touch/key events on the view and thus make it looks
- // like disabled.
- convertView.setFocusable(override != null);
- }
- return convertView;
- }
-
- @Override
- public boolean areAllItemsEnabled() {
- return false;
- }
-
- @Override
- public boolean isEnabled(int position) {
- Preference preference = mPreferences.get(position);
- return !(preference instanceof PreferenceGroup);
- }
-
- public int getCount() {
- return mPreferences.size();
- }
-
- public Object getItem(int position) {
- return null;
- }
-
- public long getItemId(int position) {
- return position;
- }
-
- @Override
- public int getItemViewType(int position) {
- Preference pref = mPreferences.get(position);
- if (pref instanceof PreferenceGroup) return 0;
- if (pref instanceof ListPreference) return 1;
- throw new IllegalStateException();
- }
-
- @Override
- public int getViewTypeCount() {
- // we have two types, see getItemViewType()
- return 2;
- }
-
- @Override
- public boolean hasStableIds() {
- return true;
- }
-
- @Override
- public boolean isEmpty() {
- return mPreferences.isEmpty();
- }
- }
-
- private class SubMenuAdapter extends BaseAdapter
- implements OnItemClickListener {
- private final ListPreference mPreference;
- private final IconListPreference mIconPreference;
-
- public SubMenuAdapter(Context context, ListPreference preference) {
- mPreference = preference;
- mIconPreference = (preference instanceof IconListPreference)
- ? (IconListPreference) preference
- : null;
- }
-
- public View getView(int position, View convertView, ViewGroup parent) {
- CharSequence entry[] = mPreference.getEntries();
- if (position == 0) {
- convertView = inflateIfNeed(convertView,
- R.layout.on_screen_menu_header, parent, false);
- ((TextView) convertView.findViewById(
- R.id.title)).setText(mPreference.getDialogTitle());
- } else {
- int index = position - 1;
- convertView = inflateIfNeed(convertView,
- R.layout.on_screen_submenu_item, parent, false);
- boolean checked = mPreference.getValue().equals(
- mPreference.getEntryValues()[index]);
- ((TextView) convertView.findViewById(
- R.id.title)).setText(entry[index]);
- ((RadioButton) convertView.findViewById(
- R.id.radio_button)).setChecked(checked);
- ImageView icon = (ImageView)
- convertView.findViewById(R.id.icon);
- if (mIconPreference != null) {
- icon.setVisibility(View.VISIBLE);
- icon.setImageDrawable(
- mIconPreference.getIcons()[position-1]);
- } else {
- icon.setVisibility(View.GONE);
- }
- }
- return convertView;
- }
-
- @Override
- public boolean areAllItemsEnabled() {
- return false;
- }
-
- @Override
- public boolean isEnabled(int position) {
- return getItemViewType(position) != 0;
- }
-
- public int getCount() {
- // add one for the header
- return mPreference.getEntries().length + 1;
- }
-
- public Object getItem(int position) {
- return null;
- }
-
- public long getItemId(int position) {
- return position;
- }
-
- @Override
- public int getItemViewType(int position) {
- return position == 0 ? 0 : 1;
- }
-
- @Override
- public int getViewTypeCount() {
- return 2;
- }
-
- @Override
- public boolean hasStableIds() {
- return true;
- }
-
- public void onItemClick(
- AdapterView<?> parent, View view, int position, long id) {
- CharSequence values[] = mPreference.getEntryValues();
- int idx = mPreference.findIndexOfValue(mPreference.getValue());
- if (idx != position - 1) {
- mPreference.setValueIndex(position - 1);
- notifyDataSetChanged();
- mMainAdapter.notifyDataSetChanged();
- return;
- }
-
- // Close the sub menu when user presses the original option.
- closeSubMenu();
- }
- }
-
- private class Container extends FrameLayout {
- public Container(Context context) {
- super(context);
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- if (super.onTouchEvent(event)) return true;
- if (event.getAction() == MotionEvent.ACTION_DOWN) {
- setVisible(false);
- return true;
- }
- return false;
- }
-
- /*
- * Need to override this to intercept the key events. Otherwise, we
- * would attach a key listener to the container but its superclass
- * ViewGroup gives it to the focused View instead of calling the key
- * listener, and so we wouldn't get the events.
- */
- @Override
- public boolean dispatchKeyEvent(KeyEvent event) {
- return onContainerKey(event)
- ? true
- : super.dispatchKeyEvent(event);
- }
- }
-}
diff --git a/src/com/android/camera/PreviewFrameLayout.java b/src/com/android/camera/PreviewFrameLayout.java
deleted file mode 100644
index 49a39ef..0000000
--- a/src/com/android/camera/PreviewFrameLayout.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-import com.android.gallery.R;
-
-import android.app.Activity;
-import android.content.Context;
-import android.util.AttributeSet;
-import android.util.DisplayMetrics;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.FrameLayout;
-
-public class PreviewFrameLayout extends ViewGroup {
- private static final int MIN_HORIZONTAL_MARGIN = 10; // 10dp
-
- public interface OnSizeChangedListener {
- public void onSizeChanged();
- }
-
- private double mAspectRatio = 4.0 / 3.0;
- private ImageView mGripper;
- private FrameLayout mFrame;
- private OnSizeChangedListener mSizeListener;
- private DisplayMetrics mMetrics = new DisplayMetrics();
-
- public PreviewFrameLayout(Context context, AttributeSet attrs) {
- super(context, attrs);
- ((Activity) context).getWindowManager()
- .getDefaultDisplay().getMetrics(mMetrics);
- }
-
- public void setOnSizeChangedListener(OnSizeChangedListener listener) {
- mSizeListener = listener;
- }
-
- @Override
- protected void onFinishInflate() {
- mGripper = (ImageView) findViewById(R.id.btn_gripper);
- mFrame = (FrameLayout) findViewById(R.id.frame);
- if (mFrame == null) {
- throw new IllegalStateException(
- "must provide child with id as \"frame\"");
- }
- }
-
- public void setAspectRatio(double ratio) {
- if (ratio <= 0.0) throw new IllegalArgumentException();
-
- if (mAspectRatio != ratio) {
- mAspectRatio = ratio;
- requestLayout();
- }
- }
-
- @Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-
- int gripperWidth = 0;
- int gripperHeight = 0;
-
- if (mGripper != null) {
- measureChild(mGripper, widthMeasureSpec, heightMeasureSpec);
- gripperWidth = mGripper.getMeasuredWidth();
- gripperHeight = mGripper.getMeasuredHeight();
- }
-
- int frameWidth = getMeasuredWidth() - (int) Math.max(
- gripperWidth, MIN_HORIZONTAL_MARGIN * mMetrics.density);
- int frameHeight = getMeasuredHeight();
-
- FrameLayout f = mFrame;
-
- int horizontalPadding = f.getPaddingLeft() + f.getPaddingRight();
- int verticalPadding = f.getPaddingBottom() + f.getPaddingTop();
-
- int previewWidth = frameWidth - horizontalPadding;
- int previewHeight = frameHeight - verticalPadding;
-
- // resize frame and preview for aspect ratio
- if (previewWidth > previewHeight * mAspectRatio) {
- previewWidth = (int) (previewHeight * mAspectRatio + .5);
- } else {
- previewHeight = (int) (previewWidth / mAspectRatio + .5);
- }
- frameWidth = previewWidth + horizontalPadding;
- frameHeight = previewHeight + verticalPadding;
-
- measureChild(mFrame,
- MeasureSpec.makeMeasureSpec(MeasureSpec.EXACTLY, frameWidth),
- MeasureSpec.makeMeasureSpec(MeasureSpec.EXACTLY, frameHeight));
- }
-
- @Override
- protected void onLayout(boolean changed, int l, int t, int r, int b) {
- // Try to layout the "frame" in the center of the area, and put
- // "gripper" just to the left of it. If there is no enough space for
- // the gripper, the "frame" will be moved a little right so that
- // they won't overlap with each other.
-
- int frameWidth = mFrame.getMeasuredWidth();
- int frameHeight = mFrame.getMeasuredHeight();
-
- int leftSpace = ((r - l) - frameWidth) / 2;
- int topSpace = ((b - t) - frameHeight) / 2;
-
- int gripperWidth = 0;
- int gripperHeight = 0;
- if (mGripper != null) {
- gripperWidth = mGripper.getMeasuredWidth();
- gripperHeight = mGripper.getMeasuredHeight();
- myLayoutChild(mGripper,
- Math.max(l, l + (leftSpace - gripperWidth)),
- t + ((b - t) - gripperHeight) / 2,
- gripperWidth, gripperHeight);
- }
- myLayoutChild(mFrame, Math.max(l + leftSpace, l + gripperWidth),
- t + topSpace, frameWidth, frameHeight);
- if (mSizeListener != null) {
- mSizeListener.onSizeChanged();
- }
- }
-
- private static void myLayoutChild(View child, int l, int t, int w, int h) {
- child.layout(l, t, l + w, t + h);
- }
-}
-
diff --git a/src/com/android/camera/ReviewImage.java b/src/com/android/camera/ReviewImage.java
deleted file mode 100644
index b87cca0..0000000
--- a/src/com/android/camera/ReviewImage.java
+++ /dev/null
@@ -1,855 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-import com.android.gallery.R;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.graphics.Bitmap;
-import android.net.Uri;
-import android.os.Bundle;
-import android.provider.MediaStore;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.view.GestureDetector;
-import android.view.KeyEvent;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.Window;
-import android.view.WindowManager;
-import android.view.View.OnTouchListener;
-import android.view.animation.AlphaAnimation;
-import android.view.animation.Animation;
-import android.widget.Toast;
-import android.widget.ZoomButtonsController;
-
-import com.android.camera.gallery.IImage;
-import com.android.camera.gallery.IImageList;
-import com.android.camera.gallery.VideoObject;
-
-// This activity can display a whole picture and navigate them in a specific
-// gallery. It has two modes: normal mode and slide show mode. In normal mode
-// the user view one image at a time, and can click "previous" and "next"
-// button to see the previous or next image. In slide show mode it shows one
-// image after another, with some transition effect.
-public class ReviewImage extends NoSearchActivity implements View.OnClickListener {
- private static final String STATE_URI = "uri";
- private static final String TAG = "ReviewImage";
- private static final double ASPECT_RATIO = 4.0 / 3.0;
-
- private ImageGetter mGetter;
- private Uri mSavedUri;
- boolean mPaused = true;
- private boolean mShowControls = true;
-
- // Choices for what adjacents to load.
- private static final int[] sOrderAdjacents = new int[] {0, 1, -1};
-
- final GetterHandler mHandler = new GetterHandler();
-
- private boolean mFullScreenInNormalMode;
-
- int mCurrentPosition = 0;
-
- private View mRootView;
- private View mControlBar;
- private View mNextImageView;
- private View mPrevImageView;
- private final Animation mHideNextImageViewAnimation =
- new AlphaAnimation(1F, 0F);
- private final Animation mHidePrevImageViewAnimation =
- new AlphaAnimation(1F, 0F);
- private final Animation mShowNextImageViewAnimation =
- new AlphaAnimation(0F, 1F);
- private final Animation mShowPrevImageViewAnimation =
- new AlphaAnimation(0F, 1F);
-
- public static final String KEY_IMAGE_LIST = "image_list";
- private static final String STATE_SHOW_CONTROLS = "show_controls";
-
- ImageManager.ImageListParam mParam;
- IImageList mAllImages;
-
- private final ImageViewTouchBase [] mSlideShowImageViews =
- new ImageViewTouchBase[2];
-
- GestureDetector mGestureDetector;
- private ZoomButtonsController mZoomButtonsController;
-
- // The image view displayed for normal mode.
- private ImageViewTouch2 mImageView;
- // This is the cache for thumbnail bitmaps.
- private BitmapCache mCache;
- private MenuHelper.MenuItemsResult mImageMenuRunnable;
- private final Runnable mDismissOnScreenControlRunner = new Runnable() {
- public void run() {
- hideOnScreenControls();
- }
- };
-
- private void updateNextPrevControls() {
- boolean showPrev = mCurrentPosition > 0;
- boolean showNext = mCurrentPosition < mAllImages.getCount() - 1;
-
- boolean prevIsVisible = mPrevImageView.getVisibility() == View.VISIBLE;
- boolean nextIsVisible = mNextImageView.getVisibility() == View.VISIBLE;
-
- if (showPrev && !prevIsVisible) {
- Animation a = mShowPrevImageViewAnimation;
- a.setDuration(500);
- mPrevImageView.startAnimation(a);
- mPrevImageView.setVisibility(View.VISIBLE);
- } else if (!showPrev && prevIsVisible) {
- Animation a = mHidePrevImageViewAnimation;
- a.setDuration(500);
- mPrevImageView.startAnimation(a);
- mPrevImageView.setVisibility(View.GONE);
- }
-
- if (showNext && !nextIsVisible) {
- Animation a = mShowNextImageViewAnimation;
- a.setDuration(500);
- mNextImageView.startAnimation(a);
- mNextImageView.setVisibility(View.VISIBLE);
- } else if (!showNext && nextIsVisible) {
- Animation a = mHideNextImageViewAnimation;
- a.setDuration(500);
- mNextImageView.startAnimation(a);
- mNextImageView.setVisibility(View.GONE);
- }
- }
-
- private void showOnScreenControls() {
-
- // If the view has not been attached to the window yet, the
- // zoomButtonControls will not able to show up. So delay it until the
- // view has attached to window.
- if (mRootView.getWindowToken() == null) {
- mHandler.postGetterCallback(new Runnable() {
- public void run() {
- showOnScreenControls();
- }
- });
- return;
- }
-
- // we may need to update the next/prev button due to index changing
- updateNextPrevControls();
-
- if (ImageManager.isImage(mAllImages.getImageAt(mCurrentPosition))) {
- updateZoomButtonsEnabled();
- mZoomButtonsController.setVisible(true);
- } else {
- mZoomButtonsController.setVisible(false);
- }
- }
-
- private void hideOnScreenControls() {
- if (mNextImageView.getVisibility() == View.VISIBLE) {
- Animation a = mHideNextImageViewAnimation;
- a.setDuration(500);
- mNextImageView.startAnimation(a);
- mNextImageView.setVisibility(View.INVISIBLE);
- }
-
- if (mPrevImageView.getVisibility() == View.VISIBLE) {
- Animation a = mHidePrevImageViewAnimation;
- a.setDuration(500);
- mPrevImageView.startAnimation(a);
- mPrevImageView.setVisibility(View.INVISIBLE);
- }
-
- mZoomButtonsController.setVisible(false);
- }
-
- private void scheduleDismissOnScreenControls() {
- mHandler.removeCallbacks(mDismissOnScreenControlRunner);
- mHandler.postDelayed(mDismissOnScreenControlRunner, 2000);
- }
-
- @Override
- public boolean dispatchTouchEvent(MotionEvent m) {
- if (mZoomButtonsController.isVisible()) {
- scheduleDismissOnScreenControls();
- }
- return super.dispatchTouchEvent(m);
- }
-
- private void updateZoomButtonsEnabled() {
- ImageViewTouch2 imageView = mImageView;
- float scale = imageView.getScale();
- mZoomButtonsController.setZoomInEnabled(scale < imageView.mMaxZoom);
- mZoomButtonsController.setZoomOutEnabled(scale > 1);
- }
-
- @Override
- protected void onDestroy() {
- // This is necessary to make the ZoomButtonsController unregister
- // its configuration change receiver.
- if (mZoomButtonsController != null) {
- mZoomButtonsController.setVisible(false);
- }
-
- super.onDestroy();
- }
-
- private void setupOnScreenControls(View rootView, View ownerView) {
- mNextImageView = rootView.findViewById(R.id.next_image);
- mPrevImageView = rootView.findViewById(R.id.prev_image);
-
- mNextImageView.setOnClickListener(this);
- mPrevImageView.setOnClickListener(this);
-
- setupZoomButtonController(ownerView);
- setupOnTouchListeners(rootView);
- }
-
- private void setupZoomButtonController(final View ownerView) {
- mZoomButtonsController = new ZoomButtonsController(ownerView);
- mZoomButtonsController.setAutoDismissed(false);
- mZoomButtonsController.setZoomSpeed(100);
- mZoomButtonsController.setOnZoomListener(
- new ZoomButtonsController.OnZoomListener() {
- public void onVisibilityChanged(boolean visible) {
- if (visible) {
- updateZoomButtonsEnabled();
- }
- }
-
- public void onZoom(boolean zoomIn) {
- if (zoomIn) {
- mImageView.zoomIn();
- } else {
- mImageView.zoomOut();
- }
- mZoomButtonsController.setVisible(true);
- updateZoomButtonsEnabled();
- }
- });
- }
-
- private void setupOnTouchListeners(View rootView) {
- mGestureDetector = new GestureDetector(this, new MyGestureListener());
-
- // If the user touches anywhere on the panel (including the
- // next/prev button). We show the on-screen controls. In addition
- // to that, if the touch is not on the prev/next button, we
- // pass the event to the gesture detector to detect double tap.
- final OnTouchListener buttonListener = new OnTouchListener() {
- public boolean onTouch(View v, MotionEvent event) {
- scheduleDismissOnScreenControls();
- return false;
- }
- };
-
- OnTouchListener rootListener = new OnTouchListener() {
- public boolean onTouch(View v, MotionEvent event) {
- buttonListener.onTouch(v, event);
- mGestureDetector.onTouchEvent(event);
-
- // We do not use the return value of
- // mGestureDetector.onTouchEvent because we will not receive
- // the "up" event if we return false for the "down" event.
- return true;
- }
- };
-
- mNextImageView.setOnTouchListener(buttonListener);
- mPrevImageView.setOnTouchListener(buttonListener);
- rootView.setOnTouchListener(rootListener);
- }
-
- private class MyGestureListener extends
- GestureDetector.SimpleOnGestureListener {
-
- @Override
- public boolean onScroll(MotionEvent e1, MotionEvent e2,
- float distanceX, float distanceY) {
- if (mPaused) return false;
- ImageViewTouch2 imageView = mImageView;
- if (imageView.getScale() > 1F) {
- imageView.postTranslateCenter(-distanceX, -distanceY);
- }
- return true;
- }
-
- @Override
- public boolean onSingleTapConfirmed(MotionEvent e) {
- if (mPaused) return false;
- showOnScreenControls();
- scheduleDismissOnScreenControls();
- return true;
- }
-
- @Override
- public boolean onDoubleTap(MotionEvent e) {
- if (mPaused) return false;
- ImageViewTouch2 imageView = mImageView;
-
- // Switch between the original scale and 3x scale.
- if (imageView.getScale() > 2F) {
- mImageView.zoomTo(1f);
- } else {
- mImageView.zoomToPoint(3f, e.getX(), e.getY());
- }
- return true;
- }
- }
-
- boolean isPickIntent() {
- String action = getIntent().getAction();
- return (Intent.ACTION_PICK.equals(action)
- || Intent.ACTION_GET_CONTENT.equals(action));
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
-
- // These are the menu items already covered by the side buttons.
- int sideButtons = MenuHelper.INCLUDE_DELETE_MENU
- | MenuHelper.INCLUDE_SHARE_MENU
- | MenuHelper.INCLUDE_SET_MENU
- | MenuHelper.INCLUDE_VIEWPLAY_MENU;
-
- mImageMenuRunnable = MenuHelper.addImageMenuItems(
- menu,
- MenuHelper.INCLUDE_ALL & ~sideButtons,
- ReviewImage.this,
- mHandler,
- mDeletePhotoRunnable,
- new MenuHelper.MenuInvoker() {
- public void run(final MenuHelper.MenuCallback cb) {
- if (mPaused) return;
- IImage image = mAllImages.getImageAt(mCurrentPosition);
- Uri uri = image.fullSizeImageUri();
- cb.run(uri, image);
-
- mImageView.clear();
- setImage(mCurrentPosition, false);
- }
- });
-
- return true;
- }
-
- protected Runnable mDeletePhotoRunnable = new Runnable() {
- public void run() {
- mAllImages.removeImageAt(mCurrentPosition);
- if (mAllImages.getCount() == 0) {
- finish();
- return;
- } else {
- if (mCurrentPosition == mAllImages.getCount()) {
- mCurrentPosition -= 1;
- }
- }
- mImageView.clear();
- mCache.clear(); // Because the position number is changed.
- setImage(mCurrentPosition, true);
- }
- };
-
- @Override
- public boolean onPrepareOptionsMenu(Menu menu) {
- super.onPrepareOptionsMenu(menu);
- if (mPaused) return false;
-
- IImage image = mAllImages.getImageAt(mCurrentPosition);
- if (mImageMenuRunnable != null) {
- mImageMenuRunnable.gettingReadyToOpen(menu, image);
- }
-
- Uri uri = mAllImages.getImageAt(mCurrentPosition).fullSizeImageUri();
- MenuHelper.enableShareMenuItem(menu, MenuHelper.isWhiteListUri(uri));
-
- MenuHelper.enableShowOnMapMenuItem(menu, MenuHelper.hasLatLngData(image));
-
- return true;
- }
-
- @Override
- public boolean onMenuItemSelected(int featureId, MenuItem item) {
- boolean b = super.onMenuItemSelected(featureId, item);
- if (mImageMenuRunnable != null) {
- mImageMenuRunnable.aboutToCall(item,
- mAllImages.getImageAt(mCurrentPosition));
- }
- return b;
- }
-
- void setImage(int pos, boolean showControls) {
- mCurrentPosition = pos;
-
- Bitmap b = mCache.getBitmap(pos);
- if (b != null) {
- IImage image = mAllImages.getImageAt(pos);
- mImageView.setImageRotateBitmapResetBase(
- new RotateBitmap(b, image.getDegreesRotated()), true);
- updateZoomButtonsEnabled();
- }
-
- ImageGetterCallback cb = new ImageGetterCallback() {
- public void completed() {
- }
-
- public boolean wantsThumbnail(int pos, int offset) {
- return !mCache.hasBitmap(pos + offset);
- }
-
- public boolean wantsFullImage(int pos, int offset) {
- return offset == 0;
- }
-
- public int fullImageSizeToUse(int pos, int offset) {
- // this number should be bigger so that we can zoom. we may
- // need to get fancier and read in the fuller size image as the
- // user starts to zoom.
- // Originally the value is set to 480 in order to avoid OOM.
- // Now we set it to 2048 because of using
- // native memory allocation for Bitmaps.
- final int imageViewSize = 2048;
- return imageViewSize;
- }
-
- public int [] loadOrder() {
- return sOrderAdjacents;
- }
-
- public void imageLoaded(int pos, int offset, RotateBitmap bitmap,
- boolean isThumb) {
- // shouldn't get here after onPause()
-
- // We may get a result from a previous request. Ignore it.
- if (pos != mCurrentPosition) {
- bitmap.recycle();
- return;
- }
-
- if (isThumb) {
- mCache.put(pos + offset, bitmap.getBitmap());
- }
- if (offset == 0) {
- // isThumb: We always load thumb bitmap first, so we will
- // reset the supp matrix for then thumb bitmap, and keep
- // the supp matrix when the full bitmap is loaded.
- mImageView.setImageRotateBitmapResetBase(bitmap, isThumb);
- updateZoomButtonsEnabled();
- }
- }
- };
-
- // Could be null if we're stopping a slide show in the course of pausing
- if (mGetter != null) {
- mGetter.setPosition(pos, cb, mAllImages, mHandler);
- }
- updateActionIcons();
- if (showControls) showOnScreenControls();
- scheduleDismissOnScreenControls();
- }
-
- @Override
- public void onCreate(Bundle instanceState) {
- super.onCreate(instanceState);
-
- Intent intent = getIntent();
- mFullScreenInNormalMode = intent.getBooleanExtra(
- MediaStore.EXTRA_FULL_SCREEN, true);
-
- setDefaultKeyMode(DEFAULT_KEYS_SHORTCUT);
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- setContentView(R.layout.review_image);
-
- mRootView = findViewById(R.id.root);
- mControlBar = findViewById(R.id.control_bar);
- mImageView = (ImageViewTouch2) findViewById(R.id.image);
- mImageView.setEnableTrackballScroll(true);
- mCache = new BitmapCache(3);
- mImageView.setRecycler(mCache);
-
- ((PreviewFrameLayout) findViewById(
- R.id.frame_layout)).setAspectRatio(ASPECT_RATIO);
-
-
- makeGetter();
-
- mSlideShowImageViews[0] =
- (ImageViewTouchBase) findViewById(R.id.image1_slideShow);
- mSlideShowImageViews[1] =
- (ImageViewTouchBase) findViewById(R.id.image2_slideShow);
- for (ImageViewTouchBase v : mSlideShowImageViews) {
- v.setVisibility(View.INVISIBLE);
- v.setRecycler(mCache);
- }
-
- mParam = getIntent().getParcelableExtra(KEY_IMAGE_LIST);
-
- if (instanceState != null) {
- mSavedUri = instanceState.getParcelable(STATE_URI);
- mShowControls = instanceState.getBoolean(STATE_SHOW_CONTROLS, true);
- } else {
- mSavedUri = getIntent().getData();
- }
-
- int[] pickIds = {R.id.attach, R.id.cancel};
- int[] reviewIds = {R.id.btn_delete, R.id.btn_share, R.id.btn_set_as,
- R.id.btn_play, R.id.btn_done};
- int[] connectIds = isPickIntent() ? pickIds : reviewIds;
- for (int id : connectIds) {
- View view = mControlBar.findViewById(id);
- view.setOnClickListener(this);
- // Set the LinearLayout of the given button to visible
- ((View) view.getParent()).setVisibility(View.VISIBLE);
- }
-
- if (mFullScreenInNormalMode) {
- getWindow().addFlags(
- WindowManager.LayoutParams.FLAG_FULLSCREEN);
- }
-
- setupOnScreenControls(findViewById(R.id.mainPanel), mImageView);
- }
-
- private void setButtonPanelVisibility(int id, int visibility) {
- View button = mControlBar.findViewById(id);
- ((View) button.getParent()).setVisibility(visibility);
- }
-
- private void updateActionIcons() {
- if (isPickIntent()) return;
-
- IImage image = mAllImages.getImageAt(mCurrentPosition);
- if (image instanceof VideoObject) {
- setButtonPanelVisibility(R.id.btn_set_as, View.GONE);
- setButtonPanelVisibility(R.id.btn_play, View.VISIBLE);
- } else {
- setButtonPanelVisibility(R.id.btn_set_as, View.VISIBLE);
- setButtonPanelVisibility(R.id.btn_play, View.GONE);
- }
- }
-
- private void makeGetter() {
- mGetter = new ImageGetter(getContentResolver());
- }
-
- private IImageList buildImageListFromUri(Uri uri) {
- int sort = ImageManager.SORT_ASCENDING;
- return ImageManager.makeImageList(getContentResolver(), uri, sort);
- }
-
- private boolean init(Uri uri) {
- if (uri == null) return false;
- mAllImages = (mParam == null)
- ? buildImageListFromUri(uri)
- : ImageManager.makeImageList(getContentResolver(), mParam);
- IImage image = mAllImages.getImageForUri(uri);
- if (image == null) return false;
- mCurrentPosition = mAllImages.getImageIndex(image);
- return true;
- }
-
- private Uri getCurrentUri() {
- if (mAllImages.getCount() == 0) return null;
- IImage image = mAllImages.getImageAt(mCurrentPosition);
- return image.fullSizeImageUri();
- }
-
- @Override
- public void onSaveInstanceState(Bundle b) {
- super.onSaveInstanceState(b);
- b.putParcelable(STATE_URI,
- mAllImages.getImageAt(mCurrentPosition).fullSizeImageUri());
- b.putBoolean(STATE_SHOW_CONTROLS, mShowControls);
- }
-
- @Override
- public void onStart() {
- super.onStart();
- mPaused = false;
-
- if (!init(mSavedUri)) {
- Log.w(TAG, "init failed: " + mSavedUri);
- finish();
- return;
- }
-
- // normally this will never be zero but if one "backs" into this
- // activity after removing the sdcard it could be zero. in that
- // case just "finish" since there's nothing useful that can happen.
- int count = mAllImages.getCount();
- if (count == 0) {
- finish();
- return;
- } else if (count <= mCurrentPosition) {
- mCurrentPosition = count - 1;
- }
-
- if (mGetter == null) {
- makeGetter();
- }
-
- //show controls only for first time
- setImage(mCurrentPosition, mShowControls);
- mShowControls = false;
- }
-
- @Override
- public void onStop() {
- super.onStop();
- mPaused = true;
-
- // mGetter could be null if we call finish() and leave early in
- // onStart().
- if (mGetter != null) {
- mGetter.cancelCurrent();
- mGetter.stop();
- mGetter = null;
- }
-
- // removing all callback in the message queue
- mHandler.removeAllGetterCallbacks();
-
- if (mAllImages != null) {
- mSavedUri = getCurrentUri();
- mAllImages.close();
- mAllImages = null;
- }
-
- hideOnScreenControls();
- mImageView.clear();
- mCache.clear();
-
- for (ImageViewTouchBase iv : mSlideShowImageViews) {
- iv.clear();
- }
- }
-
- private void startShareMediaActivity(IImage image) {
- boolean isVideo = image instanceof VideoObject;
- Intent intent = new Intent();
- intent.setAction(Intent.ACTION_SEND);
- intent.setType(image.getMimeType());
- intent.putExtra(Intent.EXTRA_STREAM, image.fullSizeImageUri());
- try {
- startActivity(Intent.createChooser(intent, getText(
- isVideo ? R.string.sendVideo : R.string.sendImage)));
- } catch (android.content.ActivityNotFoundException ex) {
- Toast.makeText(this, isVideo
- ? R.string.no_way_to_share_image
- : R.string.no_way_to_share_video,
- Toast.LENGTH_SHORT).show();
- }
- }
-
- private void startPlayVideoActivity() {
- IImage image = mAllImages.getImageAt(mCurrentPosition);
- Intent intent = new Intent(
- Intent.ACTION_VIEW, image.fullSizeImageUri());
- try {
- startActivity(intent);
- } catch (android.content.ActivityNotFoundException ex) {
- Log.e(TAG, "Couldn't view video " + image.fullSizeImageUri(), ex);
- }
- }
-
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.btn_delete:
- MenuHelper.deleteImage(this, mDeletePhotoRunnable,
- mAllImages.getImageAt(mCurrentPosition));
- break;
- case R.id.btn_play:
- startPlayVideoActivity();
- break;
- case R.id.btn_share: {
- IImage image = mAllImages.getImageAt(mCurrentPosition);
- if (!MenuHelper.isWhiteListUri(image.fullSizeImageUri())) {
- return;
- }
- startShareMediaActivity(image);
- break;
- }
- case R.id.btn_set_as: {
- IImage image = mAllImages.getImageAt(mCurrentPosition);
- Intent intent = Util.createSetAsIntent(image);
- try {
- startActivity(Intent.createChooser(
- intent, getText(R.string.setImage)));
- } catch (android.content.ActivityNotFoundException ex) {
- Toast.makeText(this, R.string.no_way_to_share_video,
- Toast.LENGTH_SHORT).show();
- }
- break;
- }
- case R.id.btn_done:
- finish();
- break;
- case R.id.next_image:
- moveNextOrPrevious(1);
- break;
- case R.id.prev_image:
- moveNextOrPrevious(-1);
- break;
- }
- }
-
- private void moveNextOrPrevious(int delta) {
- int nextImagePos = mCurrentPosition + delta;
- if ((0 <= nextImagePos) && (nextImagePos < mAllImages.getCount())) {
- setImage(nextImagePos, true);
- showOnScreenControls();
- }
- }
-
- @Override
- protected void onActivityResult(int requestCode, int resultCode,
- Intent data) {
- switch (requestCode) {
- case MenuHelper.RESULT_COMMON_MENU_CROP:
- if (resultCode == RESULT_OK) {
- // The CropImage activity passes back the Uri of the
- // cropped image as the Action rather than the Data.
- mSavedUri = Uri.parse(data.getAction());
-
- // if onStart() runs before, then set the returned
- // image as currentImage.
- if (mAllImages != null) {
- IImage image = mAllImages.getImageForUri(mSavedUri);
- // image could be null if SD card is removed.
- if (image == null) {
- finish();
- } else {
- mCurrentPosition = mAllImages.getImageIndex(image);
- setImage(mCurrentPosition, false);
- }
- }
- }
- break;
- }
- }
-}
-
-class ImageViewTouch2 extends ImageViewTouchBase {
- private final ReviewImage mViewImage;
- private boolean mEnableTrackballScroll;
-
- public ImageViewTouch2(Context context) {
- super(context);
- mViewImage = (ReviewImage) context;
- }
-
- public ImageViewTouch2(Context context, AttributeSet attrs) {
- super(context, attrs);
- mViewImage = (ReviewImage) context;
- }
-
- public void setEnableTrackballScroll(boolean enable) {
- mEnableTrackballScroll = enable;
- }
-
- protected void postTranslateCenter(float dx, float dy) {
- super.postTranslate(dx, dy);
- center(true, true);
- }
-
- private static final float PAN_RATE = 20;
-
- // This is the time we allow the dpad to change the image position again.
- private long mNextChangePositionTime;
-
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- if (mViewImage.mPaused) return false;
-
- // Don't respond to arrow keys if trackball scrolling is not enabled
- if (!mEnableTrackballScroll) {
- if ((keyCode >= KeyEvent.KEYCODE_DPAD_UP)
- && (keyCode <= KeyEvent.KEYCODE_DPAD_RIGHT)) {
- return super.onKeyDown(keyCode, event);
- }
- }
-
- int current = mViewImage.mCurrentPosition;
-
- int nextImagePos = -2; // default no next image
- try {
- switch (keyCode) {
- case KeyEvent.KEYCODE_DPAD_CENTER: {
- if (mViewImage.isPickIntent()) {
- IImage img = mViewImage.mAllImages
- .getImageAt(mViewImage.mCurrentPosition);
- mViewImage.setResult(ReviewImage.RESULT_OK,
- new Intent().setData(img.fullSizeImageUri()));
- mViewImage.finish();
- }
- break;
- }
- case KeyEvent.KEYCODE_DPAD_LEFT: {
- if (getScale() <= 1F && event.getEventTime()
- >= mNextChangePositionTime) {
- nextImagePos = current - 1;
- mNextChangePositionTime = event.getEventTime() + 500;
- } else {
- panBy(PAN_RATE, 0);
- center(true, false);
- }
- return true;
- }
- case KeyEvent.KEYCODE_DPAD_RIGHT: {
- if (getScale() <= 1F && event.getEventTime()
- >= mNextChangePositionTime) {
- nextImagePos = current + 1;
- mNextChangePositionTime = event.getEventTime() + 500;
- } else {
- panBy(-PAN_RATE, 0);
- center(true, false);
- }
- return true;
- }
- case KeyEvent.KEYCODE_DPAD_UP: {
- panBy(0, PAN_RATE);
- center(false, true);
- return true;
- }
- case KeyEvent.KEYCODE_DPAD_DOWN: {
- panBy(0, -PAN_RATE);
- center(false, true);
- return true;
- }
- case KeyEvent.KEYCODE_DEL:
- MenuHelper.deletePhoto(
- mViewImage, mViewImage.mDeletePhotoRunnable);
- break;
- }
- } finally {
- if (nextImagePos >= 0
- && nextImagePos < mViewImage.mAllImages.getCount()) {
- synchronized (mViewImage) {
- mViewImage.setImage(nextImagePos, true);
- }
- } else if (nextImagePos != -2) {
- center(true, true);
- }
- }
-
- return super.onKeyDown(keyCode, event);
- }
-}
diff --git a/src/com/android/camera/ShutterButton.java b/src/com/android/camera/ShutterButton.java
deleted file mode 100644
index 1fb9258..0000000
--- a/src/com/android/camera/ShutterButton.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.widget.ImageView;
-
-/**
- * A button designed to be used for the on-screen shutter button.
- * It's currently an ImageView that can call a delegate when the pressed state
- * changes.
- */
-public class ShutterButton extends ImageView {
- /**
- * Interface definition for a callback to be invoked when a ModeButton's
- * pressed state changes.
- */
- public interface OnShutterButtonListener {
- /**
- * Called when a ShutterButton has been pressed.
- *
- * @param b The ShutterButton that was pressed.
- */
- void onShutterButtonFocus(ShutterButton b, boolean pressed);
- void onShutterButtonClick(ShutterButton b);
- }
-
- private OnShutterButtonListener mListener;
- private boolean mOldPressed;
-
- public ShutterButton(Context context) {
- super(context);
- }
-
- public ShutterButton(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- public ShutterButton(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- }
-
- public void setOnShutterButtonListener(OnShutterButtonListener listener) {
- mListener = listener;
- }
-
- /**
- * Hook into the drawable state changing to get changes to isPressed -- the
- * onPressed listener doesn't always get called when the pressed state
- * changes.
- */
- @Override
- protected void drawableStateChanged() {
- super.drawableStateChanged();
- final boolean pressed = isPressed();
- if (pressed != mOldPressed) {
- if (!pressed) {
- // When pressing the physical camera button the sequence of
- // events is:
- // focus pressed, optional camera pressed, focus released.
- // We want to emulate this sequence of events with the shutter
- // button. When clicking using a trackball button, the view
- // system changes the the drawable state before posting click
- // notification, so the sequence of events is:
- // pressed(true), optional click, pressed(false)
- // When clicking using touch events, the view system changes the
- // drawable state after posting click notification, so the
- // sequence of events is:
- // pressed(true), pressed(false), optional click
- // Since we're emulating the physical camera button, we want to
- // have the same order of events. So we want the optional click
- // callback to be delivered before the pressed(false) callback.
- //
- // To do this, we delay the posting of the pressed(false) event
- // slightly by pushing it on the event queue. This moves it
- // after the optional click notification, so our client always
- // sees events in this sequence:
- // pressed(true), optional click, pressed(false)
- post(new Runnable() {
- public void run() {
- callShutterButtonFocus(pressed);
- }
- });
- } else {
- callShutterButtonFocus(pressed);
- }
- mOldPressed = pressed;
- }
- }
-
- private void callShutterButtonFocus(boolean pressed) {
- if (mListener != null) {
- mListener.onShutterButtonFocus(this, pressed);
- }
- }
-
- @Override
- public boolean performClick() {
- boolean result = super.performClick();
- if (mListener != null) {
- mListener.onShutterButtonClick(this);
- }
- return result;
- }
-}
diff --git a/src/com/android/camera/Switcher.java b/src/com/android/camera/Switcher.java
deleted file mode 100644
index cb0d4f1..0000000
--- a/src/com/android/camera/Switcher.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.drawable.Drawable;
-import android.util.AttributeSet;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.animation.AnimationUtils;
-import android.widget.ImageView;
-
-public class Switcher extends ImageView implements View.OnTouchListener {
-
- @SuppressWarnings("unused")
- private static final String TAG = "Switcher";
-
- public interface OnSwitchListener {
- // Returns true if the listener agrees that the switch can be changed.
- public boolean onSwitchChanged(Switcher source, boolean onOff);
- }
-
- private static final int ANIMATION_SPEED = 200;
- private static final long NO_ANIMATION = -1;
-
- private boolean mSwitch = false;
- private int mPosition = 0;
- private long mAnimationStartTime = 0;
- private int mAnimationStartPosition;
- private OnSwitchListener mListener;
-
- public Switcher(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- public void setSwitch(boolean onOff) {
- if (mSwitch == onOff) return;
- mSwitch = onOff;
- invalidate();
- }
-
- // Try to change the switch position. (The client can veto it.)
- private void tryToSetSwitch(boolean onOff) {
- try {
- if (mSwitch == onOff) return;
-
- if (mListener != null) {
- if (!mListener.onSwitchChanged(this, onOff)) {
- return;
- }
- }
-
- mSwitch = onOff;
- } finally {
- startParkingAnimation();
- }
- }
-
- public void setOnSwitchListener(OnSwitchListener listener) {
- mListener = listener;
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- if (!isEnabled()) return false;
-
- final int available = getHeight() - mPaddingTop - mPaddingBottom
- - getDrawable().getIntrinsicHeight();
-
- switch (event.getAction()) {
- case MotionEvent.ACTION_DOWN:
- mAnimationStartTime = NO_ANIMATION;
- setPressed(true);
- trackTouchEvent(event);
- break;
-
- case MotionEvent.ACTION_MOVE:
- trackTouchEvent(event);
- break;
-
- case MotionEvent.ACTION_UP:
- trackTouchEvent(event);
- tryToSetSwitch(mPosition >= available / 2);
- setPressed(false);
- break;
-
- case MotionEvent.ACTION_CANCEL:
- tryToSetSwitch(mSwitch);
- setPressed(false);
- break;
- }
- return true;
- }
-
- private void startParkingAnimation() {
- mAnimationStartTime = AnimationUtils.currentAnimationTimeMillis();
- mAnimationStartPosition = mPosition;
- }
-
- private void trackTouchEvent(MotionEvent event) {
- Drawable drawable = getDrawable();
- int drawableHeight = drawable.getIntrinsicHeight();
- final int height = getHeight();
- final int available = height - mPaddingTop - mPaddingBottom
- - drawableHeight;
- int x = (int) event.getY();
- mPosition = x - mPaddingTop - drawableHeight / 2;
- if (mPosition < 0) mPosition = 0;
- if (mPosition > available) mPosition = available;
- invalidate();
- }
-
- @Override
- protected void onDraw(Canvas canvas) {
-
- Drawable drawable = getDrawable();
- int drawableHeight = drawable.getIntrinsicHeight();
- int drawableWidth = drawable.getIntrinsicWidth();
-
- if (drawableWidth == 0 || drawableHeight == 0) {
- return; // nothing to draw (empty bounds)
- }
-
- if (mAnimationStartTime != NO_ANIMATION) {
- final int available = getHeight() - mPaddingTop - mPaddingBottom
- - drawableHeight;
- long time = AnimationUtils.currentAnimationTimeMillis();
- int deltaTime = (int)(time - mAnimationStartTime);
- mPosition = mAnimationStartPosition +
- ANIMATION_SPEED * (mSwitch ? deltaTime : -deltaTime) / 1000;
- if (mPosition < 0) mPosition = 0;
- if (mPosition > available) mPosition = available;
- boolean done = (mPosition == (mSwitch ? available : 0));
- if (!done) {
- invalidate();
- } else {
- mAnimationStartTime = NO_ANIMATION;
- }
- }
-
- int offsetTop = mPaddingTop + mPosition;
- int offsetLeft = (getWidth()
- - drawableWidth - mPaddingLeft - mPaddingRight) / 2;
- int saveCount = canvas.getSaveCount();
- canvas.save();
- canvas.translate(offsetLeft, offsetTop);
- drawable.draw(canvas);
- canvas.restoreToCount(saveCount);
- }
-
- // Consume the touch events for the specified view.
- public void addTouchView(View v) {
- v.setOnTouchListener(this);
- }
-
- // This implements View.OnTouchListener so we intercept the touch events
- // and pass them to ourselves.
- public boolean onTouch(View v, MotionEvent event) {
- onTouchEvent(event);
- return true;
- }
-}
diff --git a/src/com/android/camera/ThumbnailController.java b/src/com/android/camera/ThumbnailController.java
deleted file mode 100644
index 2ae8e20..0000000
--- a/src/com/android/camera/ThumbnailController.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-
-import android.content.ContentResolver;
-import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.TransitionDrawable;
-import android.media.ThumbnailUtil;
-import android.net.Uri;
-import android.os.ParcelFileDescriptor;
-import android.util.Log;
-import android.view.ViewGroup.LayoutParams;
-import android.widget.ImageView;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-/** A controller shows thumbnail picture on a button. The thumbnail picture
- * corresponds to a URI of the original picture/video. The thumbnail bitmap
- * and the URI can be saved to a file (and later loaded from it).
- * <pre>
- * public ThumbnailController(ImageView button)
- * public void setData(Uri uri, Bitmap original)
- * public void updateDisplayIfNeeded()
- * public Uri getUri()
- * public boolean storeData(String filePath)
- * public boolean loadData(String filePath)
- * </pre>
- */
-public class ThumbnailController {
-
- @SuppressWarnings("unused")
- private static final String TAG = "ThumbnailController";
- private final ContentResolver mContentResolver;
- private Uri mUri;
- private Bitmap mThumb;
- private final ImageView mButton;
- private Drawable[] mThumbs;
- private TransitionDrawable mThumbTransition;
- private boolean mShouldAnimateThumb;
- private final Resources mResources;
-
- // The "frame" is a drawable we want to put on top of the thumbnail.
- public ThumbnailController(Resources resources,
- ImageView button, ContentResolver contentResolver) {
- mResources = resources;
- mButton = button;
- mContentResolver = contentResolver;
- }
-
- public void setData(Uri uri, Bitmap original) {
- // Make sure uri and original are consistently both null or both
- // non-null.
- if (uri == null || original == null) {
- uri = null;
- original = null;
- }
- mUri = uri;
- updateThumb(original);
- }
-
- public Uri getUri() {
- return mUri;
- }
-
- private static final int BUFSIZE = 4096;
-
- // Stores the data from the specified file.
- // Returns true for success.
- public boolean storeData(String filePath) {
- if (mUri == null) {
- return false;
- }
-
- FileOutputStream f = null;
- BufferedOutputStream b = null;
- DataOutputStream d = null;
- try {
- f = new FileOutputStream(filePath);
- b = new BufferedOutputStream(f, BUFSIZE);
- d = new DataOutputStream(b);
- d.writeUTF(mUri.toString());
- mThumb.compress(Bitmap.CompressFormat.PNG, 100, d);
- d.close();
- } catch (IOException e) {
- return false;
- } finally {
- MenuHelper.closeSilently(f);
- MenuHelper.closeSilently(b);
- MenuHelper.closeSilently(d);
- }
- return true;
- }
-
- // Loads the data from the specified file.
- // Returns true for success.
- public boolean loadData(String filePath) {
- FileInputStream f = null;
- BufferedInputStream b = null;
- DataInputStream d = null;
- try {
- f = new FileInputStream(filePath);
- b = new BufferedInputStream(f, BUFSIZE);
- d = new DataInputStream(b);
- Uri uri = Uri.parse(d.readUTF());
- Bitmap thumb = BitmapFactory.decodeStream(d);
- setData(uri, thumb);
- d.close();
- } catch (IOException e) {
- return false;
- } finally {
- MenuHelper.closeSilently(f);
- MenuHelper.closeSilently(b);
- MenuHelper.closeSilently(d);
- }
- return true;
- }
-
- public void updateDisplayIfNeeded() {
- if (mUri == null) {
- mButton.setImageDrawable(null);
- return;
- }
-
- if (mShouldAnimateThumb) {
- mThumbTransition.startTransition(500);
- mShouldAnimateThumb = false;
- }
- }
-
- private void updateThumb(Bitmap original) {
- if (original == null) {
- mThumb = null;
- mThumbs = null;
- return;
- }
-
- // Make the mini-thumb size smaller than the button size so that the
- // image corners don't peek out from the rounded corners of the
- // frame_thumb graphic:
- final int PADDING_WIDTH = 2;
- final int PADDING_HEIGHT = 2;
- LayoutParams param = mButton.getLayoutParams();
- final int miniThumbWidth = param.width - 2 * PADDING_WIDTH;
- final int miniThumbHeight = param.height - 2 * PADDING_HEIGHT;
- mThumb = ThumbnailUtil.extractMiniThumb(
- original, miniThumbWidth, miniThumbHeight,
- Util.NO_RECYCLE_INPUT);
- Drawable drawable;
- if (mThumbs == null) {
- mThumbs = new Drawable[2];
- mThumbs[1] = new BitmapDrawable(mResources, mThumb);
- drawable = mThumbs[1];
- mShouldAnimateThumb = false;
- } else {
- mThumbs[0] = mThumbs[1];
- mThumbs[1] = new BitmapDrawable(mResources, mThumb);
- mThumbTransition = new TransitionDrawable(mThumbs);
- drawable = mThumbTransition;
- mShouldAnimateThumb = true;
- }
- mButton.setImageDrawable(drawable);
- }
-
- public boolean isUriValid() {
- if (mUri == null) {
- return false;
- }
- try {
- ParcelFileDescriptor pfd =
- mContentResolver.openFileDescriptor(mUri, "r");
- if (pfd == null) {
- Log.e(TAG, "Fail to open URI.");
- return false;
- }
- pfd.close();
- } catch (IOException ex) {
- return false;
- }
- return true;
- }
-}
diff --git a/src/com/android/camera/Util.java b/src/com/android/camera/Util.java
index 69e608a..c90a011 100644
--- a/src/com/android/camera/Util.java
+++ b/src/com/android/camera/Util.java
@@ -330,30 +330,6 @@
}
}
- public static Bitmap makeBitmap(byte[] jpegData, int maxNumOfPixels) {
- try {
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.inJustDecodeBounds = true;
- BitmapFactory.decodeByteArray(jpegData, 0, jpegData.length,
- options);
- if (options.mCancel || options.outWidth == -1
- || options.outHeight == -1) {
- return null;
- }
- options.inSampleSize = computeSampleSize(
- options, IImage.UNCONSTRAINED, maxNumOfPixels);
- options.inJustDecodeBounds = false;
-
- options.inDither = false;
- options.inPreferredConfig = Bitmap.Config.ARGB_8888;
- return BitmapFactory.decodeByteArray(jpegData, 0, jpegData.length,
- options);
- } catch (OutOfMemoryError ex) {
- Log.e(TAG, "Got oom exception ", ex);
- return null;
- }
- }
-
private static ParcelFileDescriptor makeInputStream(
Uri uri, ContentResolver cr) {
try {
@@ -459,69 +435,4 @@
options.inNativeAlloc = true;
return options;
}
-
- public static void showFatalErrorAndFinish(
- final Activity activity, String title, String message) {
- DialogInterface.OnClickListener buttonListener =
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int which) {
- activity.finish();
- }
- };
- new AlertDialog.Builder(activity)
- .setCancelable(false)
- .setIcon(android.R.drawable.ic_dialog_alert)
- .setTitle(title)
- .setMessage(message)
- .setNeutralButton(R.string.details_ok, buttonListener)
- .show();
- }
-
- public static Animation slideOut(View view, int to) {
- view.setVisibility(View.INVISIBLE);
- Animation anim;
- switch (to) {
- case DIRECTION_LEFT:
- anim = new TranslateAnimation(0, -view.getWidth(), 0, 0);
- break;
- case DIRECTION_RIGHT:
- anim = new TranslateAnimation(0, view.getWidth(), 0, 0);
- break;
- case DIRECTION_UP:
- anim = new TranslateAnimation(0, 0, 0, -view.getHeight());
- break;
- case DIRECTION_DOWN:
- anim = new TranslateAnimation(0, 0, 0, view.getHeight());
- break;
- default:
- throw new IllegalArgumentException(Integer.toString(to));
- }
- anim.setDuration(500);
- view.startAnimation(anim);
- return anim;
- }
-
- public static Animation slideIn(View view, int from) {
- view.setVisibility(View.VISIBLE);
- Animation anim;
- switch (from) {
- case DIRECTION_LEFT:
- anim = new TranslateAnimation(-view.getWidth(), 0, 0, 0);
- break;
- case DIRECTION_RIGHT:
- anim = new TranslateAnimation(view.getWidth(), 0, 0, 0);
- break;
- case DIRECTION_UP:
- anim = new TranslateAnimation(0, 0, -view.getHeight(), 0);
- break;
- case DIRECTION_DOWN:
- anim = new TranslateAnimation(0, 0, view.getHeight(), 0);
- break;
- default:
- throw new IllegalArgumentException(Integer.toString(from));
- }
- anim.setDuration(500);
- view.startAnimation(anim);
- return anim;
- }
}
diff --git a/src/com/android/camera/VideoCamera.java b/src/com/android/camera/VideoCamera.java
deleted file mode 100644
index c9dc27f..0000000
--- a/src/com/android/camera/VideoCamera.java
+++ /dev/null
@@ -1,1598 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package com.android.camera;
-
-import com.android.gallery.R;
-
-import android.app.Activity;
-import android.content.ActivityNotFoundException;
-import android.content.BroadcastReceiver;
-import android.content.ContentResolver;
-import android.content.ContentValues;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.SharedPreferences;
-import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
-import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.graphics.drawable.Drawable;
-import android.hardware.Camera.Parameters;
-import android.hardware.Camera.Size;
-import android.media.MediaRecorder;
-import android.media.ThumbnailUtil;
-import android.net.Uri;
-import android.os.Build;
-import android.os.Bundle;
-import android.os.Environment;
-import android.os.Handler;
-import android.os.Message;
-import android.os.StatFs;
-import android.os.SystemClock;
-import android.os.SystemProperties;
-import android.preference.PreferenceManager;
-import android.preference.PreferenceScreen;
-import android.provider.MediaStore;
-import android.provider.MediaStore.Video;
-import android.text.format.DateFormat;
-import android.util.Log;
-import android.view.KeyEvent;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.MotionEvent;
-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.view.MenuItem.OnMenuItemClickListener;
-import android.view.animation.AlphaAnimation;
-import android.view.animation.Animation;
-import android.widget.ImageView;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import com.android.camera.PreviewFrameLayout.OnSizeChangedListener;
-import com.android.camera.gallery.IImage;
-import com.android.camera.gallery.IImageList;
-
-import java.io.File;
-import java.io.FileDescriptor;
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-
-/**
- * The Camcorder activity.
- */
-public class VideoCamera extends NoSearchActivity implements View.OnClickListener,
- ShutterButton.OnShutterButtonListener, SurfaceHolder.Callback,
- MediaRecorder.OnErrorListener, MediaRecorder.OnInfoListener,
- Switcher.OnSwitchListener, OnSharedPreferenceChangeListener,
- OnScreenSettings.OnVisibilityChangedListener,
- PreviewFrameLayout.OnSizeChangedListener {
-
- private static final String TAG = "videocamera";
-
- private static final int INIT_RECORDER = 3;
- private static final int CLEAR_SCREEN_DELAY = 4;
- private static final int UPDATE_RECORD_TIME = 5;
-
- private static final int SCREEN_DELAY = 2 * 60 * 1000;
-
- private static final long NO_STORAGE_ERROR = -1L;
- private static final long CANNOT_STAT_ERROR = -2L;
- private static final long LOW_STORAGE_THRESHOLD = 512L * 1024L;
-
- private static final int STORAGE_STATUS_OK = 0;
- private static final int STORAGE_STATUS_LOW = 1;
- private static final int STORAGE_STATUS_NONE = 2;
-
- private static final boolean SWITCH_CAMERA = true;
- private static final boolean SWITCH_VIDEO = false;
-
- private SharedPreferences mPreferences;
-
- private PreviewFrameLayout mPreviewFrameLayout;
- private SurfaceView mVideoPreview;
- private SurfaceHolder mSurfaceHolder = null;
- private ImageView mVideoFrame;
-
- private boolean mIsVideoCaptureIntent;
- // mLastPictureButton and mThumbController
- // are non-null only if mIsVideoCaptureIntent is true.
- private ImageView mLastPictureButton;
- private ThumbnailController mThumbController;
- private boolean mStartPreviewFail = false;
-
- private int mStorageStatus = STORAGE_STATUS_OK;
-
- private MediaRecorder mMediaRecorder;
- private boolean mMediaRecorderRecording = false;
- private long mRecordingStartTime;
- // The video file that the hardware camera is about to record into
- // (or is recording into.)
- private String mCameraVideoFilename;
- private FileDescriptor mCameraVideoFileDescriptor;
-
- // The video file that has already been recorded, and that is being
- // examined by the user.
- private String mCurrentVideoFilename;
- private Uri mCurrentVideoUri;
- private ContentValues mCurrentVideoValues;
-
- private MediaRecorderProfile mProfile;
-
- // The video duration limit. 0 menas no limit.
- private int mMaxVideoDurationInMs;
-
- boolean mPausing = false;
- boolean mPreviewing = false; // True if preview is started.
-
- private ContentResolver mContentResolver;
-
- private ShutterButton mShutterButton;
- private TextView mRecordingTimeView;
- private View mGripper;
- private Switcher mSwitcher;
- private boolean mRecordingTimeCountsDown = false;
-
- private final ArrayList<MenuItem> mGalleryItems = new ArrayList<MenuItem>();
-
- private final Handler mHandler = new MainHandler();
- private Parameters mParameters;
- private OnScreenSettings mSettings;
-
- // This Handler is used to post message back onto the main thread of the
- // application
- private class MainHandler extends Handler {
- @Override
- public void handleMessage(Message msg) {
- switch (msg.what) {
-
- case CLEAR_SCREEN_DELAY: {
- getWindow().clearFlags(
- WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- break;
- }
-
- case UPDATE_RECORD_TIME: {
- updateRecordingTime();
- break;
- }
-
- case INIT_RECORDER: {
- initializeRecorder();
- break;
- }
-
- default:
- Log.v(TAG, "Unhandled message: " + msg.what);
- break;
- }
- }
- }
-
- private BroadcastReceiver mReceiver = null;
-
- private class MyBroadcastReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- if (action.equals(Intent.ACTION_MEDIA_EJECT)) {
- updateAndShowStorageHint(false);
- stopVideoRecording();
- } else if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) {
- updateAndShowStorageHint(true);
- initializeRecorder();
- } else if (action.equals(Intent.ACTION_MEDIA_UNMOUNTED)) {
- // SD card unavailable
- // handled in ACTION_MEDIA_EJECT
- } else if (action.equals(Intent.ACTION_MEDIA_SCANNER_STARTED)) {
- Toast.makeText(VideoCamera.this,
- getResources().getString(R.string.wait), 5000);
- } else if (action.equals(Intent.ACTION_MEDIA_SCANNER_FINISHED)) {
- updateAndShowStorageHint(true);
- }
- }
- }
-
- private static String createName(long dateTaken) {
- return DateFormat.format("yyyy-MM-dd kk.mm.ss", dateTaken).toString();
- }
-
- private void showCameraBusyAndFinish() {
- Resources ress = getResources();
- Util.showFatalErrorAndFinish(VideoCamera.this,
- ress.getString(R.string.camera_error_title),
- ress.getString(R.string.cannot_connect_camera));
- }
-
- /** Called with the activity is first created. */
- @Override
- public void onCreate(Bundle icicle) {
- super.onCreate(icicle);
-
- mPreferences = PreferenceManager.getDefaultSharedPreferences(this);
- CameraSettings.upgradePreferences(mPreferences);
-
- readVideoPreferences();
-
- /*
- * To reduce startup time, we start the preview in another thread.
- * We make sure the preview is started at the end of onCreate.
- */
- Thread startPreviewThread = new Thread(new Runnable() {
- public void run() {
- try {
- mStartPreviewFail = false;
- startPreview();
- } catch (CameraHardwareException e) {
- // In eng build, we throw the exception so that test tool
- // can detect it and report it
- if ("eng".equals(Build.TYPE)) {
- throw new RuntimeException(e);
- }
- mStartPreviewFail = true;
- }
- }
- });
- startPreviewThread.start();
-
- mContentResolver = getContentResolver();
-
- requestWindowFeature(Window.FEATURE_PROGRESS);
- setContentView(R.layout.video_camera);
-
- mPreviewFrameLayout = (PreviewFrameLayout)
- findViewById(R.id.frame_layout);
- mPreviewFrameLayout.setOnSizeChangedListener(this);
- resizeForPreviewAspectRatio();
-
- mVideoPreview = (SurfaceView) findViewById(R.id.camera_preview);
- mVideoFrame = (ImageView) findViewById(R.id.video_frame);
-
- // don't set mSurfaceHolder here. We have it set ONLY within
- // surfaceCreated / surfaceDestroyed, other parts of the code
- // assume that when it is set, the surface is also set.
- SurfaceHolder holder = mVideoPreview.getHolder();
- holder.addCallback(this);
- holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
-
- mIsVideoCaptureIntent = isVideoCaptureIntent();
- mRecordingTimeView = (TextView) findViewById(R.id.recording_time);
-
- ViewGroup rootView = (ViewGroup) findViewById(R.id.video_camera);
- LayoutInflater inflater = this.getLayoutInflater();
- if (!mIsVideoCaptureIntent) {
- View controlBar = inflater.inflate(
- R.layout.camera_control, rootView);
- mLastPictureButton =
- (ImageView) controlBar.findViewById(R.id.review_thumbnail);
- mThumbController = new ThumbnailController(
- getResources(), mLastPictureButton, mContentResolver);
- mLastPictureButton.setOnClickListener(this);
- mThumbController.loadData(ImageManager.getLastVideoThumbPath());
- mSwitcher = ((Switcher) findViewById(R.id.camera_switch));
- mSwitcher.setOnSwitchListener(this);
- mSwitcher.addTouchView(findViewById(R.id.camera_switch_set));
- } else {
- View controlBar = inflater.inflate(
- R.layout.attach_camera_control, rootView);
- controlBar.findViewById(R.id.btn_cancel).setOnClickListener(this);
- ImageView retake =
- (ImageView) controlBar.findViewById(R.id.btn_retake);
- retake.setOnClickListener(this);
- retake.setImageResource(R.drawable.btn_ic_review_retake_video);
- controlBar.findViewById(R.id.btn_play).setOnClickListener(this);
- controlBar.findViewById(R.id.btn_done).setOnClickListener(this);
- }
-
- mShutterButton = (ShutterButton) findViewById(R.id.shutter_button);
- mShutterButton.setImageResource(R.drawable.btn_ic_video_record);
- mShutterButton.setOnShutterButtonListener(this);
- mShutterButton.requestFocus();
- mGripper = findViewById(R.id.btn_gripper);
- mGripper.setOnTouchListener(new GripperTouchListener());
-
- // Make sure preview is started.
- try {
- startPreviewThread.join();
- if (mStartPreviewFail) {
- showCameraBusyAndFinish();
- return;
- }
- } catch (InterruptedException ex) {
- // ignore
- }
- }
-
- @Override
- protected void onStart() {
- super.onStart();
- if (!mIsVideoCaptureIntent) {
- mSwitcher.setSwitch(SWITCH_VIDEO);
- }
- }
-
- private void startShareVideoActivity() {
- Intent intent = new Intent();
- intent.setAction(Intent.ACTION_SEND);
- intent.setType("video/3gpp");
- intent.putExtra(Intent.EXTRA_STREAM, mCurrentVideoUri);
- try {
- startActivity(Intent.createChooser(intent,
- getText(R.string.sendVideo)));
- } catch (android.content.ActivityNotFoundException ex) {
- Toast.makeText(VideoCamera.this, R.string.no_way_to_share_video,
- Toast.LENGTH_SHORT).show();
- }
- }
-
- private void startPlayVideoActivity() {
- Intent intent = new Intent(Intent.ACTION_VIEW, mCurrentVideoUri);
- try {
- startActivity(intent);
- } catch (android.content.ActivityNotFoundException ex) {
- Log.e(TAG, "Couldn't view video " + mCurrentVideoUri, ex);
- }
- }
-
-
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.btn_retake:
- discardCurrentVideoAndInitRecorder();
- break;
- case R.id.btn_play:
- startPlayVideoActivity();
- break;
- case R.id.btn_done:
- doReturnToCaller(true);
- break;
- case R.id.btn_cancel:
- stopVideoRecording();
- doReturnToCaller(false);
- break;
- case R.id.discard: {
- Runnable deleteCallback = new Runnable() {
- public void run() {
- discardCurrentVideoAndInitRecorder();
- }
- };
- MenuHelper.deleteVideo(this, deleteCallback);
- break;
- }
- case R.id.share: {
- startShareVideoActivity();
- break;
- }
- case R.id.play: {
- doPlayCurrentVideo();
- break;
- }
- case R.id.review_thumbnail: {
- stopVideoRecordingAndShowReview();
- initializeRecorder();
- break;
- }
- }
- }
-
- public void onShutterButtonFocus(ShutterButton button, boolean pressed) {
- // Do nothing (everything happens in onShutterButtonClick).
- }
-
- public void onShutterButtonClick(ShutterButton button) {
- switch (button.getId()) {
- case R.id.shutter_button:
- if (mMediaRecorderRecording) {
- if (mIsVideoCaptureIntent) {
- stopVideoRecordingAndShowAlert();
- } else {
- stopVideoRecordingAndGetThumbnail();
- initializeRecorder();
- }
- } else if (mMediaRecorder != null) {
- // If the click comes before recorder initialization, it is
- // ignored. If users click the button during initialization,
- // the event is put in the queue and record will be started
- // eventually.
- startVideoRecording();
- }
- break;
- }
- }
-
- private void doPlayCurrentVideo() {
- Log.v(TAG, "Playing current video: " + mCurrentVideoUri);
- Intent intent = new Intent(Intent.ACTION_VIEW, mCurrentVideoUri);
- try {
- startActivity(intent);
- } catch (android.content.ActivityNotFoundException ex) {
- Log.e(TAG, "Couldn't view video " + mCurrentVideoUri, ex);
- }
- }
-
- private void discardCurrentVideoAndInitRecorder() {
- deleteCurrentVideo();
- hideAlertAndInitializeRecorder();
- }
-
- private OnScreenHint mStorageHint;
-
- private void updateAndShowStorageHint(boolean mayHaveSd) {
- mStorageStatus = getStorageStatus(mayHaveSd);
- showStorageHint();
- }
-
- private void showStorageHint() {
- String errorMessage = null;
- switch (mStorageStatus) {
- case STORAGE_STATUS_NONE:
- errorMessage = getString(R.string.no_storage);
- break;
- case STORAGE_STATUS_LOW:
- errorMessage = getString(R.string.spaceIsLow_content);
- }
- if (errorMessage != null) {
- if (mStorageHint == null) {
- mStorageHint = OnScreenHint.makeText(this, errorMessage);
- } else {
- mStorageHint.setText(errorMessage);
- }
- mStorageHint.show();
- } else if (mStorageHint != null) {
- mStorageHint.cancel();
- mStorageHint = null;
- }
- }
-
- private int getStorageStatus(boolean mayHaveSd) {
- long remaining = mayHaveSd ? getAvailableStorage() : NO_STORAGE_ERROR;
- if (remaining == NO_STORAGE_ERROR) {
- return STORAGE_STATUS_NONE;
- }
- return remaining < LOW_STORAGE_THRESHOLD
- ? STORAGE_STATUS_LOW
- : STORAGE_STATUS_OK;
- }
-
- private void readVideoPreferences() {
- boolean videoQualityHigh =
- getBooleanPreference(CameraSettings.KEY_VIDEO_QUALITY,
- CameraSettings.DEFAULT_VIDEO_QUALITY_VALUE);
-
- // Set video quality.
- Intent intent = getIntent();
- if (intent.hasExtra(MediaStore.EXTRA_VIDEO_QUALITY)) {
- int extraVideoQuality =
- intent.getIntExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
- videoQualityHigh = (extraVideoQuality > 0);
- }
-
- // Set video duration limit. The limit is read from the preference,
- // unless it is specified in the intent.
- if (intent.hasExtra(MediaStore.EXTRA_DURATION_LIMIT)) {
- int seconds =
- intent.getIntExtra(MediaStore.EXTRA_DURATION_LIMIT, 0);
- mMaxVideoDurationInMs = 1000 * seconds;
- } else {
- int minutes = getIntPreference(CameraSettings.KEY_VIDEO_DURATION,
- CameraSettings.DEFAULT_VIDEO_DURATION_VALUE);
- if (minutes == -1) {
- // This is a special case: the value -1 means we want to use the
- // device-dependent duration for MMS messages. The value is
- // represented in seconds.
- mMaxVideoDurationInMs =
- 1000 * CameraSettings.MMS_VIDEO_DURATION;
- } else {
- // 1 minute = 60000ms
- mMaxVideoDurationInMs = 60000 * minutes;
- }
- }
-
- mProfile = new MediaRecorderProfile(videoQualityHigh);
- }
-
- private void resizeForPreviewAspectRatio() {
- mPreviewFrameLayout.setAspectRatio(
- (double) mProfile.mVideoWidth / mProfile.mVideoHeight);
- }
-
- @Override
- public void onResume() {
- super.onResume();
- mPausing = false;
-
- readVideoPreferences();
- resizeForPreviewAspectRatio();
- if (!mPreviewing && !mStartPreviewFail) {
- try {
- startPreview();
- } catch (CameraHardwareException e) {
- showCameraBusyAndFinish();
- return;
- }
- }
- keepScreenOnAwhile();
-
- // install an intent filter to receive SD card related events.
- IntentFilter intentFilter =
- new IntentFilter(Intent.ACTION_MEDIA_MOUNTED);
- intentFilter.addAction(Intent.ACTION_MEDIA_EJECT);
- intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
- intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED);
- intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);
- intentFilter.addDataScheme("file");
- mReceiver = new MyBroadcastReceiver();
- registerReceiver(mReceiver, intentFilter);
- mStorageStatus = getStorageStatus(true);
-
- mHandler.postDelayed(new Runnable() {
- public void run() {
- showStorageHint();
- }
- }, 200);
-
- if (mSurfaceHolder != null) {
- mHandler.sendEmptyMessage(INIT_RECORDER);
- }
- }
-
- private void setPreviewDisplay(SurfaceHolder holder) {
- try {
- mCameraDevice.setPreviewDisplay(holder);
- } catch (Throwable ex) {
- closeCamera();
- throw new RuntimeException("setPreviewDisplay failed", ex);
- }
- }
-
- private void startPreview() throws CameraHardwareException {
- Log.v(TAG, "startPreview");
- if (mPreviewing) {
- // After recording a video, preview is not stopped. So just return.
- return;
- }
-
- if (mCameraDevice == null) {
- // If the activity is paused and resumed, camera device has been
- // released and we need to open the camera.
- mCameraDevice = CameraHolder.instance().open();
- }
-
- mCameraDevice.lock();
- setCameraParameters();
- setPreviewDisplay(mSurfaceHolder);
-
- try {
- mCameraDevice.startPreview();
- mPreviewing = true;
- } catch (Throwable ex) {
- closeCamera();
- throw new RuntimeException("startPreview failed", ex);
- }
-
- // If setPreviewDisplay has been set with a valid surface, unlock now.
- // If surface is null, unlock later. Otherwise, setPreviewDisplay in
- // surfaceChanged will fail.
- if (mSurfaceHolder != null) {
- mCameraDevice.unlock();
- }
- }
-
- private void closeCamera() {
- Log.v(TAG, "closeCamera");
- if (mCameraDevice == null) {
- Log.d(TAG, "already stopped.");
- return;
- }
- // If we don't lock the camera, release() will fail.
- mCameraDevice.lock();
- CameraHolder.instance().release();
- mCameraDevice = null;
- mPreviewing = false;
- }
-
- @Override
- protected void onPause() {
- super.onPause();
-
- mPausing = true;
-
- if (mSettings != null && mSettings.isVisible()) {
- mSettings.setVisible(false);
- }
-
- // This is similar to what mShutterButton.performClick() does,
- // but not quite the same.
- if (mMediaRecorderRecording) {
- if (mIsVideoCaptureIntent) {
- stopVideoRecording();
- showAlert();
- } else {
- stopVideoRecordingAndGetThumbnail();
- }
- } else {
- stopVideoRecording();
- }
- closeCamera();
-
- if (mReceiver != null) {
- unregisterReceiver(mReceiver);
- mReceiver = null;
- }
- resetScreenOn();
-
- if (!mIsVideoCaptureIntent) {
- mThumbController.storeData(ImageManager.getLastVideoThumbPath());
- }
-
- if (mStorageHint != null) {
- mStorageHint.cancel();
- mStorageHint = null;
- }
-
- mHandler.removeMessages(INIT_RECORDER);
- }
-
- @Override
- public void onUserInteraction() {
- super.onUserInteraction();
- if (!mMediaRecorderRecording) keepScreenOnAwhile();
- }
-
- @Override
- public void onBackPressed() {
- if (mPausing) return;
- if (mMediaRecorderRecording) {
- mShutterButton.performClick();
- return;
- }
- super.onBackPressed();
- }
-
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- // Do not handle any key if the activity is paused.
- if (mPausing) {
- return true;
- }
-
- switch (keyCode) {
- case KeyEvent.KEYCODE_CAMERA:
- if (event.getRepeatCount() == 0) {
- mShutterButton.performClick();
- return true;
- }
- break;
- case KeyEvent.KEYCODE_DPAD_CENTER:
- if (event.getRepeatCount() == 0) {
- mShutterButton.performClick();
- return true;
- }
- break;
- case KeyEvent.KEYCODE_MENU:
- if (mMediaRecorderRecording) {
- mShutterButton.performClick();
- return true;
- }
- break;
- }
-
- return super.onKeyDown(keyCode, event);
- }
-
- @Override
- public boolean onKeyUp(int keyCode, KeyEvent event) {
- switch (keyCode) {
- case KeyEvent.KEYCODE_CAMERA:
- mShutterButton.setPressed(false);
- return true;
- case KeyEvent.KEYCODE_MENU:
- if (this.mIsVideoCaptureIntent) {
- showOnScreenSettings();
- return true;
- }
- break;
- }
- return super.onKeyUp(keyCode, event);
- }
-
- public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
- // Make sure we have a surface in the holder before proceeding.
- if (holder.getSurface() == null) {
- Log.d(TAG, "holder.getSurface() == null");
- return;
- }
-
- if (mPausing) {
- // We're pausing, the screen is off and we already stopped
- // video recording. We don't want to start the camera again
- // in this case in order to conserve power.
- // The fact that surfaceChanged is called _after_ an onPause appears
- // to be legitimate since in that case the lockscreen always returns
- // to portrait orientation possibly triggering the notification.
- return;
- }
-
- // The mCameraDevice will be null if it is fail to connect to the
- // camera hardware. In this case we will show a dialog and then
- // finish the activity, so it's OK to ignore it.
- if (mCameraDevice == null) return;
-
- if (mMediaRecorderRecording) {
- stopVideoRecording();
- }
-
- // Set preview display if the surface is being created. Preview was
- // already started.
- if (holder.isCreating()) {
- setPreviewDisplay(holder);
- mCameraDevice.unlock();
- mHandler.sendEmptyMessage(INIT_RECORDER);
- }
- }
-
- public void surfaceCreated(SurfaceHolder holder) {
- mSurfaceHolder = holder;
- }
-
- public void surfaceDestroyed(SurfaceHolder holder) {
- mSurfaceHolder = null;
- }
-
- private void gotoGallery() {
- MenuHelper.gotoCameraVideoGallery(this);
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
-
- if (mIsVideoCaptureIntent) {
- // No options menu for attach mode.
- return false;
- } else {
- addBaseMenuItems(menu);
- }
- return true;
- }
-
- private boolean isVideoCaptureIntent() {
- String action = getIntent().getAction();
- return (MediaStore.ACTION_VIDEO_CAPTURE.equals(action));
- }
-
- private void doReturnToCaller(boolean success) {
- Intent resultIntent = new Intent();
- int resultCode;
- if (success) {
- resultCode = RESULT_OK;
- resultIntent.setData(mCurrentVideoUri);
- } else {
- resultCode = RESULT_CANCELED;
- }
- setResult(resultCode, resultIntent);
- finish();
- }
-
- /**
- * Returns
- *
- * @return number of bytes available, or an ERROR code.
- */
- private static long getAvailableStorage() {
- try {
- if (!ImageManager.hasStorage()) {
- return NO_STORAGE_ERROR;
- } else {
- String storageDirectory =
- Environment.getExternalStorageDirectory().toString();
- StatFs stat = new StatFs(storageDirectory);
- return (long) stat.getAvailableBlocks()
- * (long) stat.getBlockSize();
- }
- } catch (RuntimeException ex) {
- // if we can't stat the filesystem then we don't know how many
- // free bytes exist. It might be zero but just leave it
- // blank since we really don't know.
- return CANNOT_STAT_ERROR;
- }
- }
-
- private void cleanupEmptyFile() {
- if (mCameraVideoFilename != null) {
- File f = new File(mCameraVideoFilename);
- if (f.length() == 0 && f.delete()) {
- Log.v(TAG, "Empty video file deleted: " + mCameraVideoFilename);
- mCameraVideoFilename = null;
- }
- }
- }
-
- private android.hardware.Camera mCameraDevice;
-
- // Prepares media recorder.
- private void initializeRecorder() {
- Log.v(TAG, "initializeRecorder");
- if (mMediaRecorder != null) return;
-
- // We will call initializeRecorder() again when the alert is hidden.
- // If the mCameraDevice is null, then this activity is going to finish
- if (isAlertVisible() || mCameraDevice == null) return;
-
- Intent intent = getIntent();
- Bundle myExtras = intent.getExtras();
-
- long requestedSizeLimit = 0;
- if (mIsVideoCaptureIntent && myExtras != null) {
- Uri saveUri = (Uri) myExtras.getParcelable(MediaStore.EXTRA_OUTPUT);
- if (saveUri != null) {
- try {
- mCameraVideoFileDescriptor =
- mContentResolver.openFileDescriptor(saveUri, "rw")
- .getFileDescriptor();
- mCurrentVideoUri = saveUri;
- } catch (java.io.FileNotFoundException ex) {
- // invalid uri
- Log.e(TAG, ex.toString());
- }
- }
- requestedSizeLimit = myExtras.getLong(MediaStore.EXTRA_SIZE_LIMIT);
- }
- mMediaRecorder = new MediaRecorder();
-
- mMediaRecorder.setCamera(mCameraDevice);
- mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
- mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
- mMediaRecorder.setOutputFormat(mProfile.mOutputFormat);
- mMediaRecorder.setMaxDuration(mMaxVideoDurationInMs);
-
- // Set output file.
- if (mStorageStatus != STORAGE_STATUS_OK) {
- mMediaRecorder.setOutputFile("/dev/null");
- } else {
- // Try Uri in the intent first. If it doesn't exist, use our own
- // instead.
- if (mCameraVideoFileDescriptor != null) {
- mMediaRecorder.setOutputFile(mCameraVideoFileDescriptor);
- } else {
- createVideoPath();
- mMediaRecorder.setOutputFile(mCameraVideoFilename);
- }
- }
-
- // Use the same frame rate for both, since internally
- // if the frame rate is too large, it can cause camera to become
- // unstable. We need to fix the MediaRecorder to disable the support
- // of setting frame rate for now.
- mMediaRecorder.setVideoFrameRate(mProfile.mVideoFps);
- mMediaRecorder.setVideoSize(
- mProfile.mVideoWidth, mProfile.mVideoHeight);
- mMediaRecorder.setParameters(String.format(
- "video-param-encoding-bitrate=%d", mProfile.mVideoBitrate));
- mMediaRecorder.setParameters(String.format(
- "audio-param-encoding-bitrate=%d", mProfile.mAudioBitrate));
- mMediaRecorder.setParameters(String.format(
- "audio-param-number-of-channels=%d", mProfile.mAudioChannels));
- mMediaRecorder.setParameters(String.format(
- "audio-param-sampling-rate=%d", mProfile.mAudioSamplingRate));
- mMediaRecorder.setVideoEncoder(mProfile.mVideoEncoder);
- mMediaRecorder.setAudioEncoder(mProfile.mAudioEncoder);
- mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
-
- // Set maximum file size.
- // remaining >= LOW_STORAGE_THRESHOLD at this point, reserve a quarter
- // of that to make it more likely that recording can complete
- // successfully.
- long maxFileSize = getAvailableStorage() - LOW_STORAGE_THRESHOLD / 4;
- if (requestedSizeLimit > 0 && requestedSizeLimit < maxFileSize) {
- maxFileSize = requestedSizeLimit;
- }
-
- try {
- mMediaRecorder.setMaxFileSize(maxFileSize);
- } catch (RuntimeException exception) {
- // We are going to ignore failure of setMaxFileSize here, as
- // a) The composer selected may simply not support it, or
- // b) The underlying media framework may not handle 64-bit range
- // on the size restriction.
- }
-
- try {
- mMediaRecorder.prepare();
- } catch (IOException e) {
- Log.e(TAG, "prepare failed for " + mCameraVideoFilename);
- releaseMediaRecorder();
- throw new RuntimeException(e);
- }
- mMediaRecorderRecording = false;
-
- // Update the last video thumbnail.
- if (!mIsVideoCaptureIntent) {
- if (!mThumbController.isUriValid()) {
- updateLastVideo();
- }
- mThumbController.updateDisplayIfNeeded();
- }
- }
-
- private void releaseMediaRecorder() {
- Log.v(TAG, "Releasing media recorder.");
- if (mMediaRecorder != null) {
- cleanupEmptyFile();
- mMediaRecorder.reset();
- mMediaRecorder.release();
- mMediaRecorder = null;
- }
- }
-
- private int getIntPreference(String key, int defaultValue) {
- String s = mPreferences.getString(key, "");
- int result = defaultValue;
- try {
- result = Integer.parseInt(s);
- } catch (NumberFormatException e) {
- // Ignore, result is already the default value.
- }
- return result;
- }
-
- private boolean getBooleanPreference(String key, boolean defaultValue) {
- return getIntPreference(key, defaultValue ? 1 : 0) != 0;
- }
-
- private void createVideoPath() {
- long dateTaken = System.currentTimeMillis();
- String title = createName(dateTaken);
- String displayName = title + ".3gp"; // Used when emailing.
- String cameraDirPath = ImageManager.CAMERA_IMAGE_BUCKET_NAME;
- File cameraDir = new File(cameraDirPath);
- cameraDir.mkdirs();
- SimpleDateFormat dateFormat = new SimpleDateFormat(
- getString(R.string.video_file_name_format));
- Date date = new Date(dateTaken);
- String filepart = dateFormat.format(date);
- String filename = cameraDirPath + "/" + filepart + ".3gp";
- ContentValues values = new ContentValues(7);
- values.put(Video.Media.TITLE, title);
- values.put(Video.Media.DISPLAY_NAME, displayName);
- values.put(Video.Media.DATE_TAKEN, dateTaken);
- values.put(Video.Media.MIME_TYPE, "video/3gpp");
- values.put(Video.Media.DATA, filename);
- mCameraVideoFilename = filename;
- Log.v(TAG, "Current camera video filename: " + mCameraVideoFilename);
- mCurrentVideoValues = values;
- }
-
- private void registerVideo() {
- if (mCameraVideoFileDescriptor == null) {
- Uri videoTable = Uri.parse("content://media/external/video/media");
- mCurrentVideoValues.put(Video.Media.SIZE,
- new File(mCurrentVideoFilename).length());
- mCurrentVideoUri = mContentResolver.insert(videoTable,
- mCurrentVideoValues);
- Log.v(TAG, "Current video URI: " + mCurrentVideoUri);
- }
- mCurrentVideoValues = null;
- }
-
- private void deleteCurrentVideo() {
- if (mCurrentVideoFilename != null) {
- deleteVideoFile(mCurrentVideoFilename);
- mCurrentVideoFilename = null;
- }
- if (mCurrentVideoUri != null) {
- mContentResolver.delete(mCurrentVideoUri, null, null);
- mCurrentVideoUri = null;
- }
- updateAndShowStorageHint(true);
- }
-
- private void deleteVideoFile(String fileName) {
- Log.v(TAG, "Deleting video " + fileName);
- File f = new File(fileName);
- if (!f.delete()) {
- Log.v(TAG, "Could not delete " + fileName);
- }
- }
-
- private void addBaseMenuItems(Menu menu) {
- MenuItem gallery = menu.add(Menu.NONE, Menu.NONE,
- MenuHelper.POSITION_GOTO_GALLERY,
- R.string.camera_gallery_photos_text)
- .setOnMenuItemClickListener(
- new OnMenuItemClickListener() {
- public boolean onMenuItemClick(MenuItem item) {
- gotoGallery();
- return true;
- }
- });
- gallery.setIcon(android.R.drawable.ic_menu_gallery);
- mGalleryItems.add(gallery);
-
- MenuItem item = menu.add(Menu.NONE, Menu.NONE,
- MenuHelper.POSITION_CAMERA_SETTING, R.string.settings)
- .setOnMenuItemClickListener(new OnMenuItemClickListener() {
- public boolean onMenuItemClick(MenuItem item) {
- showOnScreenSettings();
- return true;
- }});
- item.setIcon(android.R.drawable.ic_menu_preferences);
- }
-
- private void showOnScreenSettings() {
- if (mSettings == null) {
- mSettings = new OnScreenSettings(
- findViewById(R.id.camera_preview));
- CameraSettings helper = new CameraSettings(this, mParameters);
- PreferenceScreen screen = helper
- .getPreferenceScreen(R.xml.video_preferences);
- if (mIsVideoCaptureIntent) {
- screen = filterPreferenceScreenByIntent(screen);
- }
-
- mSettings.setPreferenceScreen(screen);
- mSettings.setOnVisibilityChangedListener(this);
- }
- mSettings.setVisible(true);
- }
-
- private PreferenceScreen filterPreferenceScreenByIntent(
- PreferenceScreen screen) {
- Intent intent = getIntent();
- if (intent.hasExtra(MediaStore.EXTRA_VIDEO_QUALITY)) {
- CameraSettings.removePreferenceFromScreen(screen,
- CameraSettings.KEY_VIDEO_QUALITY);
- }
-
- if (intent.hasExtra(MediaStore.EXTRA_DURATION_LIMIT)) {
- CameraSettings.removePreferenceFromScreen(screen,
- CameraSettings.KEY_VIDEO_DURATION);
- }
- return screen;
- }
-
- private class GripperTouchListener implements View.OnTouchListener {
- public boolean onTouch(View view, MotionEvent event) {
- switch (event.getAction()) {
- case MotionEvent.ACTION_DOWN:
- return true;
- case MotionEvent.ACTION_UP:
- showOnScreenSettings();
- return true;
- }
- return false;
- }
- }
-
- public void onVisibilityChanged(boolean visible) {
- // At this point, we are not recording.
- mGripper.setVisibility(visible ? View.INVISIBLE : View.VISIBLE);
- if (visible) {
- releaseMediaRecorder();
- mPreferences.registerOnSharedPreferenceChangeListener(this);
- } else {
- initializeRecorder();
- mPreferences.unregisterOnSharedPreferenceChangeListener(this);
- }
- }
-
- // from MediaRecorder.OnErrorListener
- public void onError(MediaRecorder mr, int what, int extra) {
- if (what == MediaRecorder.MEDIA_RECORDER_ERROR_UNKNOWN) {
- // We may have run out of space on the sdcard.
- stopVideoRecording();
- updateAndShowStorageHint(true);
- }
- }
-
- // from MediaRecorder.OnInfoListener
- public void onInfo(MediaRecorder mr, int what, int extra) {
- if (what == MediaRecorder.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED) {
- mShutterButton.performClick();
- } else if (what
- == MediaRecorder.MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED) {
- mShutterButton.performClick();
- // Show the toast.
- Toast.makeText(VideoCamera.this, R.string.video_reach_size_limit,
- Toast.LENGTH_LONG).show();
- }
- }
-
- /*
- * Make sure we're not recording music playing in the background, ask the
- * MediaPlaybackService to pause playback.
- */
- private void pauseAudioPlayback() {
- // Shamelessly copied from MediaPlaybackService.java, which
- // should be public, but isn't.
- Intent i = new Intent("com.android.music.musicservicecommand");
- i.putExtra("command", "pause");
-
- sendBroadcast(i);
- }
-
- private void startVideoRecording() {
- Log.v(TAG, "startVideoRecording");
- if (!mMediaRecorderRecording) {
-
- if (mStorageStatus != STORAGE_STATUS_OK) {
- Log.v(TAG, "Storage issue, ignore the start request");
- return;
- }
-
- // Check mMediaRecorder to see whether it is initialized or not.
- if (mMediaRecorder == null) {
- Log.e(TAG, "MediaRecorder is not initialized.");
- return;
- }
-
- pauseAudioPlayback();
-
- try {
- mMediaRecorder.setOnErrorListener(this);
- mMediaRecorder.setOnInfoListener(this);
- mMediaRecorder.start(); // Recording is now started
- } catch (RuntimeException e) {
- Log.e(TAG, "Could not start media recorder. ", e);
- return;
- }
- mMediaRecorderRecording = true;
- mRecordingStartTime = SystemClock.uptimeMillis();
- updateRecordingIndicator(false);
- mRecordingTimeView.setText("");
- mRecordingTimeView.setVisibility(View.VISIBLE);
- updateRecordingTime();
- keepScreenOn();
- mGripper.setVisibility(View.INVISIBLE);
- }
- }
-
- private void updateRecordingIndicator(boolean showRecording) {
- int drawableId =
- showRecording ? R.drawable.btn_ic_video_record
- : R.drawable.btn_ic_video_record_stop;
- Drawable drawable = getResources().getDrawable(drawableId);
- mShutterButton.setImageDrawable(drawable);
- }
-
- private void stopVideoRecordingAndGetThumbnail() {
- stopVideoRecording();
- acquireVideoThumb();
- }
-
- private void stopVideoRecordingAndShowAlert() {
- stopVideoRecording();
- showAlert();
- }
-
- private void showAlert() {
- fadeOut(findViewById(R.id.shutter_button));
- if (mCurrentVideoFilename != null) {
- mVideoFrame.setImageBitmap(
- ThumbnailUtil.createVideoThumbnail(mCurrentVideoFilename));
- mVideoFrame.setVisibility(View.VISIBLE);
- }
- int[] pickIds = {R.id.btn_retake, R.id.btn_done, R.id.btn_play};
- for (int id : pickIds) {
- View button = findViewById(id);
- fadeIn(((View) button.getParent()));
- }
- }
-
- private void hideAlert() {
- mVideoFrame.setVisibility(View.INVISIBLE);
- fadeIn(findViewById(R.id.shutter_button));
- int[] pickIds = {R.id.btn_retake, R.id.btn_done, R.id.btn_play};
- for (int id : pickIds) {
- View button = findViewById(id);
- fadeOut(((View) button.getParent()));
- }
- }
-
- private static void fadeIn(View view) {
- view.setVisibility(View.VISIBLE);
- Animation animation = new AlphaAnimation(0F, 1F);
- animation.setDuration(500);
- view.startAnimation(animation);
- }
-
- private static void fadeOut(View view) {
- view.setVisibility(View.INVISIBLE);
- Animation animation = new AlphaAnimation(1F, 0F);
- animation.setDuration(500);
- view.startAnimation(animation);
- }
-
- private boolean isAlertVisible() {
- return this.mVideoFrame.getVisibility() == View.VISIBLE;
- }
-
- private void stopVideoRecordingAndShowReview() {
- stopVideoRecording();
- if (mThumbController.isUriValid()) {
- Uri targetUri = mThumbController.getUri();
- Intent intent = new Intent(this, ReviewImage.class);
- intent.setData(targetUri);
- intent.putExtra(MediaStore.EXTRA_FULL_SCREEN, true);
- intent.putExtra(MediaStore.EXTRA_SHOW_ACTION_ICONS, true);
- intent.putExtra("com.android.camera.ReviewMode", true);
- try {
- startActivity(intent);
- } catch (ActivityNotFoundException ex) {
- Log.e(TAG, "review video fail", ex);
- }
- } else {
- Log.e(TAG, "Can't view last video.");
- }
- }
-
- private void stopVideoRecording() {
- Log.v(TAG, "stopVideoRecording");
- boolean needToRegisterRecording = false;
- if (mMediaRecorderRecording || mMediaRecorder != null) {
- if (mMediaRecorderRecording && mMediaRecorder != null) {
- try {
- mMediaRecorder.setOnErrorListener(null);
- mMediaRecorder.setOnInfoListener(null);
- mMediaRecorder.stop();
- } catch (RuntimeException e) {
- Log.e(TAG, "stop fail: " + e.getMessage());
- }
-
- mCurrentVideoFilename = mCameraVideoFilename;
- Log.v(TAG, "Setting current video filename: "
- + mCurrentVideoFilename);
- needToRegisterRecording = true;
- mMediaRecorderRecording = false;
- }
- releaseMediaRecorder();
- updateRecordingIndicator(true);
- mRecordingTimeView.setVisibility(View.GONE);
- keepScreenOnAwhile();
- mGripper.setVisibility(View.VISIBLE);
- }
- if (needToRegisterRecording && mStorageStatus == STORAGE_STATUS_OK) {
- registerVideo();
- }
-
- mCameraVideoFilename = null;
- mCameraVideoFileDescriptor = null;
- }
-
- private void resetScreenOn() {
- mHandler.removeMessages(CLEAR_SCREEN_DELAY);
- getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- }
-
- private void keepScreenOnAwhile() {
- mHandler.removeMessages(CLEAR_SCREEN_DELAY);
- getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- mHandler.sendEmptyMessageDelayed(CLEAR_SCREEN_DELAY, SCREEN_DELAY);
- }
-
- private void keepScreenOn() {
- mHandler.removeMessages(CLEAR_SCREEN_DELAY);
- getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- }
-
- private void hideAlertAndInitializeRecorder() {
- hideAlert();
- mHandler.sendEmptyMessage(INIT_RECORDER);
- }
-
- private void acquireVideoThumb() {
- Bitmap videoFrame = ThumbnailUtil.createVideoThumbnail(mCurrentVideoFilename);
- mThumbController.setData(mCurrentVideoUri, videoFrame);
- }
-
- private static ImageManager.DataLocation dataLocation() {
- return ImageManager.DataLocation.EXTERNAL;
- }
-
- private void updateLastVideo() {
- IImageList list = ImageManager.makeImageList(
- mContentResolver,
- dataLocation(),
- ImageManager.INCLUDE_VIDEOS,
- ImageManager.SORT_ASCENDING,
- ImageManager.CAMERA_IMAGE_BUCKET_ID);
- int count = list.getCount();
- if (count > 0) {
- IImage image = list.getImageAt(count - 1);
- Uri uri = image.fullSizeImageUri();
- mThumbController.setData(uri, image.miniThumbBitmap());
- } else {
- mThumbController.setData(null, null);
- }
- list.close();
- }
-
- private void updateRecordingTime() {
- if (!mMediaRecorderRecording) {
- return;
- }
- long now = SystemClock.uptimeMillis();
- long delta = now - mRecordingStartTime;
-
- // Starting a minute before reaching the max duration
- // limit, we'll countdown the remaining time instead.
- boolean countdownRemainingTime = (mMaxVideoDurationInMs != 0
- && delta >= mMaxVideoDurationInMs - 60000);
-
- long next_update_delay = 1000 - (delta % 1000);
- long seconds;
- if (countdownRemainingTime) {
- delta = Math.max(0, mMaxVideoDurationInMs - delta);
- seconds = (delta + 999) / 1000;
- } else {
- seconds = delta / 1000; // round to nearest
- }
-
- long minutes = seconds / 60;
- long hours = minutes / 60;
- long remainderMinutes = minutes - (hours * 60);
- long remainderSeconds = seconds - (minutes * 60);
-
- String secondsString = Long.toString(remainderSeconds);
- if (secondsString.length() < 2) {
- secondsString = "0" + secondsString;
- }
- String minutesString = Long.toString(remainderMinutes);
- if (minutesString.length() < 2) {
- minutesString = "0" + minutesString;
- }
- String text = minutesString + ":" + secondsString;
- if (hours > 0) {
- String hoursString = Long.toString(hours);
- if (hoursString.length() < 2) {
- hoursString = "0" + hoursString;
- }
- text = hoursString + ":" + text;
- }
- mRecordingTimeView.setText(text);
-
- if (mRecordingTimeCountsDown != countdownRemainingTime) {
- // Avoid setting the color on every update, do it only
- // when it needs changing.
- mRecordingTimeCountsDown = countdownRemainingTime;
-
- int color = getResources().getColor(countdownRemainingTime
- ? R.color.recording_time_remaining_text
- : R.color.recording_time_elapsed_text);
-
- mRecordingTimeView.setTextColor(color);
- }
-
- mHandler.sendEmptyMessageDelayed(
- UPDATE_RECORD_TIME, next_update_delay);
- }
-
- private void setCameraParameters() {
- mParameters = mCameraDevice.getParameters();
-
- mParameters.setPreviewSize(mProfile.mVideoWidth, mProfile.mVideoHeight);
- mParameters.setPreviewFrameRate(mProfile.mVideoFps);
-
- // Set white balance parameter.
- if (mParameters.getSupportedWhiteBalance() != null) {
- String whiteBalance = mPreferences.getString(
- CameraSettings.KEY_WHITE_BALANCE,
- getString(R.string.pref_camera_whitebalance_default));
- mParameters.setWhiteBalance(whiteBalance);
- }
-
- // Set color effect parameter.
- if (mParameters.getSupportedColorEffects() != null) {
- String colorEffect = mPreferences.getString(
- CameraSettings.KEY_COLOR_EFFECT,
- getString(R.string.pref_camera_coloreffect_default));
- mParameters.setColorEffect(colorEffect);
- }
-
- mCameraDevice.setParameters(mParameters);
- }
-
- public boolean onSwitchChanged(Switcher source, boolean onOff) {
- if (onOff == SWITCH_CAMERA) {
- MenuHelper.gotoCameraMode(this);
- finish();
- }
- return true;
- }
-
- public void onSharedPreferenceChanged(
- SharedPreferences preferences, String key) {
- // ignore the events after "onPause()" or preview has not started yet
- if (mPausing) return;
-
- if (CameraSettings.KEY_VIDEO_DURATION.equals(key)
- || CameraSettings.KEY_VIDEO_QUALITY.equals(key)) {
- readVideoPreferences();
- }
-
- // If mCameraDevice is not ready then we can set the parameter in
- // startPreview().
- if (mCameraDevice == null) return;
-
- // We need to restart the preview if preview size is changed.
- Size size = mParameters.getPreviewSize();
- if (size.width != mProfile.mVideoWidth
- || size.height != mProfile.mVideoHeight) {
- // It is assumed media recorder is released before
- // onSharedPreferenceChanged, so we can close the camera here.
- closeCamera();
- try {
- resizeForPreviewAspectRatio();
- startPreview(); // Parameters will be set in startPreview().
- } catch (CameraHardwareException e) {
- showCameraBusyAndFinish();
- }
- } else {
- try {
- // We need to lock the camera before writing parameters.
- mCameraDevice.lock();
- } catch (RuntimeException e) {
- // When preferences are added for the first time, this method
- // will be called. But OnScreenSetting is not displayed yet and
- // media recorder still owns the camera. Lock will fail and we
- // just ignore it.
- return;
- }
- setCameraParameters();
- mCameraDevice.unlock();
- }
- }
-
- public void onSizeChanged() {
- if (mSettings != null) {
- mSettings.updateLayout();
- }
-
- }
-}
-
-//
-// DefaultHashMap is a HashMap which returns a default value if the specified
-// key is not found.
-//
-@SuppressWarnings("serial")
-class DefaultHashMap<K, V> extends HashMap<K, V> {
- private V mDefaultValue;
-
- public void putDefault(V defaultValue) {
- mDefaultValue = defaultValue;
- }
-
- @Override
- public V get(Object key) {
- V value = super.get(key);
- return (value == null) ? mDefaultValue : value;
- }
-}
-
-//
-// MediaRecorderProfile reads from system properties to determine the proper
-// values for various parameters for MediaRecorder.
-//
-class MediaRecorderProfile {
-
- @SuppressWarnings("unused")
- private static final String TAG = "MediaRecorderProfile";
- public final boolean mHiQuality;
- public final int mOutputFormat;
- public final int mVideoEncoder;
- public final int mAudioEncoder;
- public final int mVideoWidth;
- public final int mVideoHeight;
- public final int mVideoFps;
- public final int mVideoBitrate;
- public final int mAudioBitrate;
- public final int mAudioChannels;
- public final int mAudioSamplingRate;
-
- MediaRecorderProfile(boolean hiQuality) {
- mHiQuality = hiQuality;
-
- mOutputFormat = getFromTable("ro.media.enc.hprof.file.format",
- "ro.media.enc.lprof.file.format",
- OUTPUT_FORMAT_TABLE);
-
- mVideoEncoder = getFromTable("ro.media.enc.hprof.codec.vid",
- "ro.media.enc.lprof.codec.vid",
- VIDEO_ENCODER_TABLE);
-
- mAudioEncoder = getFromTable("ro.media.enc.hprof.codec.aud",
- "ro.media.enc.lprof.codec.aud",
- AUDIO_ENCODER_TABLE);
-
- mVideoWidth = getInt("ro.media.enc.hprof.vid.width",
- "ro.media.enc.lprof.vid.width",
- 352, 176);
-
- mVideoHeight = getInt("ro.media.enc.hprof.vid.height",
- "ro.media.enc.lprof.vid.height",
- 288, 144);
-
- mVideoFps = getInt("ro.media.enc.hprof.vid.fps",
- "ro.media.enc.lprof.vid.fps",
- 20, 20);
-
- mVideoBitrate = getInt("ro.media.enc.hprof.vid.bps",
- "ro.media.enc.lprof.vid.bps",
- 360000, 192000);
-
- mAudioBitrate = getInt("ro.media.enc.hprof.aud.bps",
- "ro.media.enc.lprof.aud.bps",
- 23450, 23450);
-
- mAudioChannels = getInt("ro.media.enc.hprof.aud.ch",
- "ro.media.enc.lprof.aud.ch",
- 1, 1);
-
- mAudioSamplingRate = getInt("ro.media.enc.hprof.aud.hz",
- "ro.media.enc.lprof.aud.hz",
- 8000, 8000);
- }
-
- private int getFromTable(String highKey, String lowKey,
- DefaultHashMap<String, Integer> table) {
- String s;
- s = SystemProperties.get(mHiQuality ? highKey : lowKey);
- return table.get(s);
- }
-
- private int getInt(String highKey, String lowKey, int highDefault,
- int lowDefault) {
- String key = mHiQuality ? highKey : lowKey;
- int defaultValue = mHiQuality ? highDefault : lowDefault;
- return SystemProperties.getInt(key, defaultValue);
- }
-
- private static final DefaultHashMap<String, Integer>
- OUTPUT_FORMAT_TABLE = new DefaultHashMap<String, Integer>();
- private static final DefaultHashMap<String, Integer>
- VIDEO_ENCODER_TABLE = new DefaultHashMap<String, Integer>();
- private static final DefaultHashMap<String, Integer>
- AUDIO_ENCODER_TABLE = new DefaultHashMap<String, Integer>();
-
- static {
- OUTPUT_FORMAT_TABLE.put("3gp", MediaRecorder.OutputFormat.THREE_GPP);
- OUTPUT_FORMAT_TABLE.put("mp4", MediaRecorder.OutputFormat.MPEG_4);
- OUTPUT_FORMAT_TABLE.putDefault(MediaRecorder.OutputFormat.DEFAULT);
-
- VIDEO_ENCODER_TABLE.put("h263", MediaRecorder.VideoEncoder.H263);
- VIDEO_ENCODER_TABLE.put("h264", MediaRecorder.VideoEncoder.H264);
- VIDEO_ENCODER_TABLE.put("m4v", MediaRecorder.VideoEncoder.MPEG_4_SP);
- VIDEO_ENCODER_TABLE.putDefault(MediaRecorder.VideoEncoder.DEFAULT);
-
- AUDIO_ENCODER_TABLE.put("amrnb", MediaRecorder.AudioEncoder.AMR_NB);
- AUDIO_ENCODER_TABLE.put("amrwb", MediaRecorder.AudioEncoder.AMR_WB);
- AUDIO_ENCODER_TABLE.put("aac", MediaRecorder.AudioEncoder.AAC);
- AUDIO_ENCODER_TABLE.put("aacplus", MediaRecorder.AudioEncoder.AAC_PLUS);
- AUDIO_ENCODER_TABLE.put("eaacplus",
- MediaRecorder.AudioEncoder.EAAC_PLUS);
- AUDIO_ENCODER_TABLE.putDefault(MediaRecorder.AudioEncoder.DEFAULT);
- }
-}
diff --git a/src/com/android/camera/gallery/BaseImage.java b/src/com/android/camera/gallery/BaseImage.java
index 6e2f8f1..42d0f66 100644
--- a/src/com/android/camera/gallery/BaseImage.java
+++ b/src/com/android/camera/gallery/BaseImage.java
@@ -117,10 +117,6 @@
}
}
- public long fullSizeImageId() {
- return mId;
- }
-
public Uri fullSizeImageUri() {
return mUri;
}
diff --git a/src/com/android/camera/gallery/IImage.java b/src/com/android/camera/gallery/IImage.java
index bad41cc..8b443d6 100644
--- a/src/com/android/camera/gallery/IImage.java
+++ b/src/com/android/camera/gallery/IImage.java
@@ -47,7 +47,6 @@
/** Get the input stream associated with a given full size image. */
public abstract InputStream fullSizeImageData();
- public abstract long fullSizeImageId();
public abstract Uri fullSizeImageUri();
/** Get the path of the (full size) image data. */
diff --git a/src/com/android/camera/gallery/UriImage.java b/src/com/android/camera/gallery/UriImage.java
index 0db1633..0f27b24 100644
--- a/src/com/android/camera/gallery/UriImage.java
+++ b/src/com/android/camera/gallery/UriImage.java
@@ -156,10 +156,6 @@
return (options != null) ? options.outWidth : 0;
}
- public long fullSizeImageId() {
- return 0;
- }
-
public IImageList getContainer() {
return mContainer;
}
diff --git a/src/com/android/camera/gallery/VideoObject.java b/src/com/android/camera/gallery/VideoObject.java
index 589e42f..d6e5060 100644
--- a/src/com/android/camera/gallery/VideoObject.java
+++ b/src/com/android/camera/gallery/VideoObject.java
@@ -79,11 +79,6 @@
}
@Override
- public long fullSizeImageId() {
- return mId;
- }
-
- @Override
public int getHeight() {
return 0;
}
@@ -125,4 +120,4 @@
public String toString() {
return new StringBuilder("VideoObject").append(mId).toString();
}
-}
\ No newline at end of file
+}
diff --git a/tests/src/com/android/camera/StressTests.java b/tests/src/com/android/camera/StressTests.java
deleted file mode 100755
index 60120a9..0000000
--- a/tests/src/com/android/camera/StressTests.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-import com.android.camera.stress.ImageCapture;
-import com.android.camera.stress.SwitchPreview;
-import com.android.camera.stress.CameraLatency;
-import com.android.camera.stress.CameraStartUp;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-
-/**
- * Instrumentation Test Runner for all Camera tests.
- *
- * Running all tests:
- *
- * adb shell am instrument -w \
- * com.android.camera.tests/com.android.camera.CameraStressTestRunner
- */
-
-public class StressTests extends TestSuite {
- public static Test suite() {
- TestSuite result = new TestSuite();
- result.addTestSuite(SwitchPreview.class);
- result.addTestSuite(ImageCapture.class);
- result.addTestSuite(CameraLatency.class);
- result.addTestSuite(CameraStartUp.class);
- return result;
- }
-}
diff --git a/tests/src/com/android/camera/gallery/ImageListUberUnitTests.java b/tests/src/com/android/camera/gallery/ImageListUberUnitTests.java
index 30487f2..df71367 100644
--- a/tests/src/com/android/camera/gallery/ImageListUberUnitTests.java
+++ b/tests/src/com/android/camera/gallery/ImageListUberUnitTests.java
@@ -6,6 +6,10 @@
public class ImageListUberUnitTests extends AndroidTestCase {
+ private MockImage getImageAt(ImageListUber uber, int index) {
+ return (MockImage) uber.getImageAt(index);
+ }
+
public void testTheOrderOfGetImageAt() {
MockImageList listA = new MockImageList();
MockImageList listB = new MockImageList();
@@ -15,16 +19,16 @@
ImageListUber uber = new ImageListUber(
new IImageList[] {listA, listB}, ImageManager.SORT_DESCENDING);
- assertEquals(2, uber.getImageAt(0).fullSizeImageId());
- assertEquals(1, uber.getImageAt(1).fullSizeImageId());
- assertEquals(0, uber.getImageAt(2).fullSizeImageId());
+ assertEquals(2, getImageAt(uber, 0).fullSizeImageId());
+ assertEquals(1, getImageAt(uber, 1).fullSizeImageId());
+ assertEquals(0, getImageAt(uber, 2).fullSizeImageId());
uber.close();
uber = new ImageListUber(
new IImageList[] {listA, listB}, ImageManager.SORT_DESCENDING);
- assertEquals(2, uber.getImageAt(0).fullSizeImageId());
- assertEquals(1, uber.getImageAt(1).fullSizeImageId());
- assertEquals(0, uber.getImageAt(2).fullSizeImageId());
+ assertEquals(2, getImageAt(uber, 0).fullSizeImageId());
+ assertEquals(1, getImageAt(uber, 1).fullSizeImageId());
+ assertEquals(0, getImageAt(uber, 2).fullSizeImageId());
uber.close();
}
@@ -37,17 +41,17 @@
ImageListUber uber = new ImageListUber(
new IImageList[] {listB, listA}, ImageManager.SORT_DESCENDING);
- assertEquals(2, uber.getImageAt(0).fullSizeImageId());
- assertEquals(1, uber.getImageAt(1).fullSizeImageId());
- assertEquals(0, uber.getImageAt(2).fullSizeImageId());
+ assertEquals(2, getImageAt(uber, 0).fullSizeImageId());
+ assertEquals(1, getImageAt(uber, 1).fullSizeImageId());
+ assertEquals(0, getImageAt(uber, 2).fullSizeImageId());
uber.close();
uber = new ImageListUber(
new IImageList[] {listA, listB}, ImageManager.SORT_DESCENDING);
- assertEquals(2, uber.getImageAt(0).fullSizeImageId());
- assertEquals(1, uber.getImageAt(1).fullSizeImageId());
- assertEquals(0, uber.getImageAt(2).fullSizeImageId());
+ assertEquals(2, getImageAt(uber, 0).fullSizeImageId());
+ assertEquals(1, getImageAt(uber, 1).fullSizeImageId());
+ assertEquals(0, getImageAt(uber, 2).fullSizeImageId());
uber.close();
}
@@ -61,11 +65,11 @@
ImageListUber uber = new ImageListUber(
new IImageList[] {listB, listA}, ImageManager.SORT_DESCENDING);
uber.removeImage(target);
- assertEquals(2, uber.getImageAt(0).fullSizeImageId());
- assertEquals(0, uber.getImageAt(1).fullSizeImageId());
+ assertEquals(2, getImageAt(uber, 0).fullSizeImageId());
+ assertEquals(0, getImageAt(uber, 1).fullSizeImageId());
- assertEquals(0, uber.getImageIndex(uber.getImageAt(0)));
- assertEquals(1, uber.getImageIndex(uber.getImageAt(1)));
+ assertEquals(0, uber.getImageIndex(getImageAt(uber, 0)));
+ assertEquals(1, uber.getImageIndex(getImageAt(uber, 1)));
uber.close();
}
@@ -79,11 +83,11 @@
ImageListUber uber = new ImageListUber(
new IImageList[] {listB, listA}, ImageManager.SORT_DESCENDING);
uber.removeImageAt(1);
- assertEquals(2, uber.getImageAt(0).fullSizeImageId());
- assertEquals(0, uber.getImageAt(1).fullSizeImageId());
+ assertEquals(2, getImageAt(uber, 0).fullSizeImageId());
+ assertEquals(0, getImageAt(uber, 1).fullSizeImageId());
- assertEquals(0, uber.getImageIndex(uber.getImageAt(0)));
- assertEquals(1, uber.getImageIndex(uber.getImageAt(1)));
+ assertEquals(0, uber.getImageIndex(getImageAt(uber, 0)));
+ assertEquals(1, uber.getImageIndex(getImageAt(uber, 1)));
uber.close();
}
}
diff --git a/tests/src/com/android/camera/power/ImageAndVideoCapture.java b/tests/src/com/android/camera/power/ImageAndVideoCapture.java
deleted file mode 100755
index 01a6d15..0000000
--- a/tests/src/com/android/camera/power/ImageAndVideoCapture.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera.power;
-
-import com.android.camera.Camera;
-
-import android.app.Instrumentation;
-import android.test.ActivityInstrumentationTestCase2;
-import android.test.suitebuilder.annotation.LargeTest;
-import android.util.Log;
-import android.view.KeyEvent;
-import android.content.Intent;
-/**
- * Junit / Instrumentation test case for camera power measurement
- *
- * Running the test suite:
- *
- * adb shell am instrument \
- * -e com.android.camera.power.ImageAndVideoCapture \
- * -w com.android.camera.tests/android.test.InstrumentationTestRunner
- *
- */
-
-public class ImageAndVideoCapture extends ActivityInstrumentationTestCase2 <Camera> {
- private String TAG = "ImageAndVideoCapture";
- private static final int TOTAL_NUMBER_OF_IMAGECAPTURE = 5;
- private static final int TOTAL_NUMBER_OF_VIDEOCAPTURE = 5;
- private static final long WAIT_FOR_IMAGE_CAPTURE_TO_BE_TAKEN = 1500; //1.5 sedconds
- private static final long WAIT_FOR_VIDEO_CAPTURE_TO_BE_TAKEN = 10000; //10 seconds
- private static final long WAIT_FOR_PREVIEW = 1500; //1.5 seconds
- private static final long WAIT_FOR_STABLE_STATE = 2000; //2 seconds
-
- public ImageAndVideoCapture() {
- super("com.android.camera", Camera.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- getActivity();
- super.setUp();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- @LargeTest
- public void testLaunchCamera() {
- // This test case capture the baseline for the image preview.
- try {
- Thread.sleep(WAIT_FOR_STABLE_STATE);
- } catch (Exception e) {
- Log.v(TAG, e.toString());
- assertTrue("testImageCaptureDoNothing", false);
- }
- assertTrue("testImageCaptureDoNothing", true);
- }
-
- @LargeTest
- public void testCapture5Image() {
- // This test case will use the default camera setting
- Instrumentation inst = getInstrumentation();
- try {
- for (int i = 0; i < TOTAL_NUMBER_OF_IMAGECAPTURE; i++) {
- Thread.sleep(WAIT_FOR_IMAGE_CAPTURE_TO_BE_TAKEN);
- inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_UP);
- inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);
- Thread.sleep(WAIT_FOR_IMAGE_CAPTURE_TO_BE_TAKEN);
- }
- Thread.sleep(WAIT_FOR_STABLE_STATE);
- } catch (Exception e) {
- Log.v(TAG, e.toString());
- assertTrue("testImageCapture", false);
- }
- assertTrue("testImageCapture", true);
- }
-
- @LargeTest
- public void testCapture5Videos() {
- // This test case will use the default camera setting
- Instrumentation inst = getInstrumentation();
- try {
- // Switch to the video mode
- Intent intent = new Intent();
- intent.setClassName("com.android.camera",
- "com.android.camera.VideoCamera");
- getActivity().startActivity(intent);
- for (int i = 0; i < TOTAL_NUMBER_OF_VIDEOCAPTURE; i++) {
- Thread.sleep(WAIT_FOR_PREVIEW);
- // record a video
- inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);
- Thread.sleep(WAIT_FOR_VIDEO_CAPTURE_TO_BE_TAKEN);
- inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);
- Thread.sleep(WAIT_FOR_PREVIEW);
- }
- Thread.sleep(WAIT_FOR_STABLE_STATE);
- } catch (Exception e) {
- Log.v(TAG, e.toString());
- assertTrue("testVideoCapture", false);
- }
- assertTrue("testVideoCapture", true);
- }
-}
diff --git a/tests/src/com/android/camera/stress/CameraLatency.java b/tests/src/com/android/camera/stress/CameraLatency.java
deleted file mode 100755
index 221e7b1..0000000
--- a/tests/src/com/android/camera/stress/CameraLatency.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera.stress;
-
-import com.android.camera.Camera;
-
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-
-import android.app.Instrumentation;
-import android.test.ActivityInstrumentationTestCase2;
-import android.test.suitebuilder.annotation.LargeTest;
-import android.util.Log;
-import android.view.KeyEvent;
-
-/**
- * Junit / Instrumentation test case for camera test
- *
- */
-
-public class CameraLatency extends ActivityInstrumentationTestCase2 <Camera> {
- private String TAG = "CameraLatency";
- private static final int TOTAL_NUMBER_OF_IMAGECAPTURE = 20;
- private static final long WAIT_FOR_IMAGE_CAPTURE_TO_BE_TAKEN = 3000;
- private static final String CAMERA_TEST_OUTPUT_FILE = "/sdcard/mediaStressOut.txt";
-
- private long mTotalAutoFocusTime;
- private long mTotalShutterLag;
- private long mTotalShutterAndRawPictureCallbackTime;
- private long mTotalJpegPictureCallbackTimeLag;
- private long mTotalRawPictureAndJpegPictureCallbackTime;
- private long mAvgAutoFocusTime;
- private long mAvgShutterLag = mTotalShutterLag;
- private long mAvgShutterAndRawPictureCallbackTime;
- private long mAveJpegPictureCallbackTimeLag;
- private long mAvgRawPictureAndJpegPictureCallbackTime;
-
- public CameraLatency() {
- super("com.android.camera", Camera.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- getActivity();
- super.setUp();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- @LargeTest
- public void testImageCapture() {
- Instrumentation inst = getInstrumentation();
- try {
- for (int i = 0; i < TOTAL_NUMBER_OF_IMAGECAPTURE; i++) {
- Thread.sleep(WAIT_FOR_IMAGE_CAPTURE_TO_BE_TAKEN);
- inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_UP);
- inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);
- Thread.sleep(WAIT_FOR_IMAGE_CAPTURE_TO_BE_TAKEN);
- //skip the first measurement
- if (i != 0) {
- Camera c = getActivity();
- mTotalAutoFocusTime += c.mAutoFocusTime;
- mTotalShutterLag += c.mShutterLag;
- mTotalShutterAndRawPictureCallbackTime +=
- c.mShutterAndRawPictureCallbackTime;
- mTotalJpegPictureCallbackTimeLag += c.mJpegPictureCallbackTimeLag;
- mTotalRawPictureAndJpegPictureCallbackTime +=
- c.mRawPictureAndJpegPictureCallbackTime;
- }
- }
- } catch (Exception e) {
- Log.v(TAG, e.toString());
- }
- //ToDO: yslau
- //1) Need to get the baseline from the cupcake so that we can add the
- //failure condition of the camera latency.
- //2) Only count those number with succesful capture. Set the timer to invalid
- //before capture and ignore them if the value is invalid
- int numberofRun = TOTAL_NUMBER_OF_IMAGECAPTURE - 1;
- mAvgAutoFocusTime = mTotalAutoFocusTime / numberofRun;
- mAvgShutterLag = mTotalShutterLag / numberofRun;
- mAvgShutterAndRawPictureCallbackTime =
- mTotalShutterAndRawPictureCallbackTime / numberofRun;
- mAveJpegPictureCallbackTimeLag =
- mTotalJpegPictureCallbackTimeLag / numberofRun;
- mAvgRawPictureAndJpegPictureCallbackTime =
- mTotalRawPictureAndJpegPictureCallbackTime / numberofRun;
-
- try {
- FileWriter fstream = null;
- fstream = new FileWriter(CAMERA_TEST_OUTPUT_FILE, true);
- BufferedWriter out = new BufferedWriter(fstream);
- out.write("Camera Latency : \n");
- out.write("Number of loop: " + TOTAL_NUMBER_OF_IMAGECAPTURE + "\n");
- out.write("Avg AutoFocus = " + mAvgAutoFocusTime + "\n");
- out.write("Avg mShutterLag = " + mAvgShutterLag + "\n");
- out.write("Avg mShutterAndRawPictureCallbackTime = "
- + mAvgShutterAndRawPictureCallbackTime + "\n");
- out.write("Avg mJpegPictureCallbackTimeLag = " + mAveJpegPictureCallbackTimeLag + "\n");
- out.write("Avg mRawPictureAndJpegPictureCallbackTime = "
- + mAvgRawPictureAndJpegPictureCallbackTime + "\n");
- out.close();
- fstream.close();
- } catch (Exception e) {
- fail("Camera Latency write output to file");
- }
-
- Log.v(TAG, "Avg AutoFocus = " + mAvgAutoFocusTime);
- Log.v(TAG, "Avg mShutterLag = " + mAvgShutterLag);
- Log.v(TAG, "Avg mShutterAndRawPictureCallbackTime = "
- + mAvgShutterAndRawPictureCallbackTime);
- Log.v(TAG, "Avg mJpegPictureCallbackTimeLag = " + mAveJpegPictureCallbackTimeLag);
- Log.v(TAG, "Avg mRawPictureAndJpegPictureCallbackTime = "
- + mAvgRawPictureAndJpegPictureCallbackTime);
- assertTrue("testImageCapture", true);
- }
-}
-
diff --git a/tests/src/com/android/camera/stress/CameraStartUp.java b/tests/src/com/android/camera/stress/CameraStartUp.java
deleted file mode 100644
index 71325d2..0000000
--- a/tests/src/com/android/camera/stress/CameraStartUp.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package com.android.camera.stress;
-
-import android.app.Instrumentation;
-import android.content.Intent;
-import android.os.Debug;
-import android.test.InstrumentationTestCase;
-import android.test.suitebuilder.annotation.LargeTest;
-import android.app.Activity;
-import android.util.Log;
-import java.io.FileWriter;
-import java.io.BufferedWriter;
-
-/**
- * Test cases to measure the camera and video recorder startup time.
- */
-public class CameraStartUp extends InstrumentationTestCase {
-
- private static final int TOTAL_NUMBER_OF_STARTUP = 20;
-
- private String TAG = "CameraStartUp";
- private static final String CAMERA_TEST_OUTPUT_FILE = "/sdcard/mediaStressOut.txt";
- private static final String CAMERA_PACKAGE_NAME = "com.android.camera";
- private static final String CAMERA_ACTIVITY_NAME = "com.android.camera.Camera";
- private static final String VIDEORECORDER_ACTIVITY_NAME = "com.android.camera.VideoCamera";
- private static int WAIT_TIME_FOR_PREVIEW = 1500; //1.5 second
-
- private long launchCamera() {
- long startupTime = 0;
- try {
- Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.setClassName(CAMERA_PACKAGE_NAME, CAMERA_ACTIVITY_NAME);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- long beforeStart = System.currentTimeMillis();
- Instrumentation inst = getInstrumentation();
- Activity cameraActivity = inst.startActivitySync(intent);
- long cameraStarted = System.currentTimeMillis();
- cameraActivity.finish();
- startupTime = cameraStarted - beforeStart;
- Thread.sleep(1000);
- Log.v(TAG, "camera startup time: " + startupTime);
- } catch (Exception e) {
- Log.v(TAG, e.toString());
- fail("Fails to get the output file");
- }
- return startupTime;
- }
-
- private long launchVideo() {
- long startupTime = 0;
-
- try {
- Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.setClassName(CAMERA_PACKAGE_NAME, VIDEORECORDER_ACTIVITY_NAME);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- long beforeStart = System.currentTimeMillis();
- Instrumentation inst = getInstrumentation();
- Activity recorderActivity = inst.startActivitySync(intent);
- long cameraStarted = System.currentTimeMillis();
- recorderActivity.finish();
- startupTime = cameraStarted - beforeStart;
- Log.v(TAG, "Video Startup Time = " + startupTime);
- // wait for 1s to make sure it reach a clean stage
- Thread.sleep(WAIT_TIME_FOR_PREVIEW);
- Log.v(TAG, "video startup time: " + startupTime);
- } catch (Exception e) {
- Log.v(TAG, e.toString());
- fail("Fails to launch video output file");
- }
- return startupTime;
- }
-
- private void writeToOutputFile(String startupTag, long totalStartupTime,
- String individualStartupTime) throws Exception {
- //TODO (yslau) : Need to integrate the output data with central dashboard
- try {
- FileWriter fstream = null;
- fstream = new FileWriter(CAMERA_TEST_OUTPUT_FILE, true);
- long averageStartupTime = totalStartupTime / TOTAL_NUMBER_OF_STARTUP;
- BufferedWriter out = new BufferedWriter(fstream);
- out.write(startupTag + "\n");
- out.write("Number of loop: " + TOTAL_NUMBER_OF_STARTUP + "\n");
- out.write(individualStartupTime + "\n\n");
- out.write("Average startup time :" + averageStartupTime + " ms\n\n");
- out.close();
- fstream.close();
- } catch (Exception e) {
- fail("Camera write output to file");
- }
- }
-
- @LargeTest
- public void testLaunchVideo() throws Exception {
- String individualStartupTime;
- individualStartupTime = "Individual Video Startup Time = ";
- long totalStartupTime = 0;
- long startupTime = 0;
- for ( int i =0; i< TOTAL_NUMBER_OF_STARTUP; i++){
- startupTime = launchVideo();
- totalStartupTime += startupTime;
- individualStartupTime += startupTime + " ,";
- }
- Log.v(TAG, "totalStartupTime =" + totalStartupTime);
- writeToOutputFile("Video Recorder Startup Time: ", totalStartupTime,
- individualStartupTime);
- }
-
- @LargeTest
- public void testLaunchCamera() throws Exception {
- String individualStartupTime;
- individualStartupTime = "Individual Camera Startup Time = ";
- long totalStartupTime =0;
- long startupTime = 0;
- for ( int i =0; i< TOTAL_NUMBER_OF_STARTUP; i++){
- startupTime = launchCamera();
- totalStartupTime += startupTime;
- individualStartupTime += startupTime + " ,";
- }
- Log.v(TAG, "totalStartupTime =" + totalStartupTime);
- writeToOutputFile("Camera Startup Time: ", totalStartupTime,
- individualStartupTime);
- }
-}
\ No newline at end of file
diff --git a/tests/src/com/android/camera/stress/ImageCapture.java b/tests/src/com/android/camera/stress/ImageCapture.java
deleted file mode 100755
index 49e8d41..0000000
--- a/tests/src/com/android/camera/stress/ImageCapture.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera.stress;
-
-import com.android.camera.Camera;
-
-import android.app.Instrumentation;
-import android.test.ActivityInstrumentationTestCase2;
-import android.test.suitebuilder.annotation.LargeTest;
-import android.util.Log;
-import android.view.KeyEvent;
-import java.io.FileWriter;
-import java.io.Writer;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.BufferedWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import android.content.Intent;
-/**
- * Junit / Instrumentation test case for camera test
- *
- * Running the test suite:
- *
- * adb shell am instrument \
- * -e class com.android.camera.stress.ImageCapture \
- * -w com.android.camera.tests/com.android.camera.CameraStressTestRunner
- *
- */
-
-public class ImageCapture extends ActivityInstrumentationTestCase2 <Camera> {
- private String TAG = "ImageCapture";
- private static final int TOTAL_NUMBER_OF_IMAGECAPTURE = 100;
- private static final int TOTAL_NUMBER_OF_VIDEOCAPTURE = 100;
- private static final long WAIT_FOR_IMAGE_CAPTURE_TO_BE_TAKEN = 1500; //1.5 sedconds
- private static final long WAIT_FOR_VIDEO_CAPTURE_TO_BE_TAKEN = 20000; //20seconds
- private static final long WAIT_FOR_PREVIEW = 1500; //1.5 seconds
- private static final long WAIT_FOR_STABLE_STATE = 2000; //2 seconds
- private static final int NO_OF_LOOPS_TAKE_MEMORY_SNAPSHOT = 10;
- private static final String CAMERA_MEM_OUTPUTFILE = "/sdcard/ImageCaptureMemOut.txt";
-
- //the tolerant memory leak
- private static final int MAX_ACCEPTED_MEMORY_LEAK_KB = 150;
-
- private static int mStartMemory = 0;
- private static int mEndMemory = 0;
- private static int mStartPid = 0;
- private static int mEndPid = 0;
-
- private static final String CAMERA_TEST_OUTPUT_FILE = "/sdcard/mediaStressOut.txt";
- private BufferedWriter mOut;
- private FileWriter mfstream;
-
- public ImageCapture() {
- super("com.android.camera", Camera.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- getActivity();
- prepareOutputFile();
- super.setUp();
- }
-
- @Override
- protected void tearDown() throws Exception {
- closeOutputFile();
- super.tearDown();
- }
-
- private void prepareOutputFile(){
- try{
- mfstream = new FileWriter(CAMERA_TEST_OUTPUT_FILE, true);
- mOut = new BufferedWriter(mfstream);
- } catch (Exception e){
- assertTrue("ImageCapture open output",false);
- }
- }
-
- private void closeOutputFile() {
- try {
- mOut.write("\n");
- mOut.close();
- mfstream.close();
- } catch (Exception e) {
- assertTrue("ImageCapture close output", false);
- }
- }
-
- //Write the ps output to the file
- public void getMemoryWriteToLog(Writer output) {
- String memusage = null;
- memusage = captureMediaserverInfo();
- Log.v(TAG, memusage);
- try {
- //Write to file output
- output.write(memusage);
- } catch (Exception e) {
- e.toString();
- }
- }
-
- public String captureMediaserverInfo() {
- String cm = "ps mediaserver";
- String memoryUsage = null;
-
- int ch;
- try {
- Process p = Runtime.getRuntime().exec(cm);
- InputStream in = p.getInputStream();
- StringBuffer sb = new StringBuffer(512);
- while ((ch = in.read()) != -1) {
- sb.append((char) ch);
- }
- memoryUsage = sb.toString();
- } catch (IOException e) {
- Log.v(TAG, e.toString());
- }
- String[] poList = memoryUsage.split("\r|\n|\r\n");
- String memusage = poList[1].concat("\n");
- return memusage;
- }
-
- public int getMediaserverPid(){
- String memoryUsage = null;
- int pidvalue = 0;
- memoryUsage = captureMediaserverInfo();
- String[] poList2 = memoryUsage.split("\t|\\s+");
- String pid = poList2[1];
- pidvalue = Integer.parseInt(pid);
- Log.v(TAG, "PID = " + pidvalue);
- return pidvalue;
- }
-
- public int getMediaserverVsize(){
- String memoryUsage = captureMediaserverInfo();
- String[] poList2 = memoryUsage.split("\t|\\s+");
- String vsize = poList2[3];
- int vsizevalue = Integer.parseInt(vsize);
- Log.v(TAG, "VSIZE = " + vsizevalue);
- return vsizevalue;
- }
-
- public boolean validateMemoryResult (int startPid, int startMemory, Writer output) throws Exception {
- Thread.sleep(20000);
- mEndPid = getMediaserverPid();
- mEndMemory = getMediaserverVsize();
- output.write("Start Memory = " + startMemory + "\n");
- Log.v(TAG, "End memory :" + mEndMemory);
- //Write the total memory different into the output file
- output.write("The total diff = " + (mEndMemory - startMemory));
- output.write("\n\n");
- //mediaserver crash
- if (startPid != mEndPid){
- output.write("mediaserver died. Test failed\n");
- return false;
- }
- //memory leak greter than the tolerant
- if ((mEndMemory - startMemory) > MAX_ACCEPTED_MEMORY_LEAK_KB )
- return false;
- return true;
- }
-
- @LargeTest
- public void testImageCapture() {
- //TODO(yslau): Need to integrate the outoput with the central dashboard,
- //write to a txt file as a temp solution
- boolean memoryResult = false;
- Instrumentation inst = getInstrumentation();
- File imageCaptureMemFile = new File(CAMERA_MEM_OUTPUTFILE);
- mStartPid = getMediaserverPid();
- mStartMemory = getMediaserverVsize();
- Log.v(TAG, "start memory : " + mStartMemory);
-
- try {
- Writer output = new BufferedWriter(new FileWriter(imageCaptureMemFile, true));
- output.write("Camera Image capture\n");
- output.write("No of loops : " + TOTAL_NUMBER_OF_VIDEOCAPTURE + "\n");
- getMemoryWriteToLog(output);
-
- mOut.write("Video Camera Capture\n");
- mOut.write("No of loops :" + TOTAL_NUMBER_OF_VIDEOCAPTURE + "\n");
- mOut.write("loop: ");
-
- for (int i = 0; i < TOTAL_NUMBER_OF_IMAGECAPTURE; i++) {
- Thread.sleep(WAIT_FOR_IMAGE_CAPTURE_TO_BE_TAKEN);
- inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_UP);
- inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);
- Thread.sleep(WAIT_FOR_IMAGE_CAPTURE_TO_BE_TAKEN);
- if (( i % NO_OF_LOOPS_TAKE_MEMORY_SNAPSHOT) == 0){
- Log.v(TAG, "value of i :" + i);
- getMemoryWriteToLog(output);
- }
- //Check if the mediaserver died, if so, exit the test
- if (Camera.mMediaServerDied){
- mOut.write("\nmedia server died\n");
- mOut.flush();
- output.close();
- Camera.mMediaServerDied = false;
- assertTrue("Camera Image Capture", false);
- }
- mOut.write(" ," + i);
- mOut.flush();
- }
- Thread.sleep(WAIT_FOR_STABLE_STATE);
- memoryResult = validateMemoryResult(mStartPid, mStartMemory, output);
- Log.v(TAG, "End memory : " + getMediaserverVsize());
- output.close();
- assertTrue("Camera image capture memory test", memoryResult);
- } catch (Exception e) {
- Log.v(TAG, e.toString());
- assertTrue("testImageCapture", false);
- }
- assertTrue("testImageCapture", true);
- }
-
- @LargeTest
- public void testVideoCapture() {
- //TODO(yslau): Need to integrate the output with the central dashboard,
- //write to a txt file as a temp solution
- boolean memoryResult = false;
- Instrumentation inst = getInstrumentation();
- File imageCaptureMemFile = new File(CAMERA_MEM_OUTPUTFILE);
- mStartPid = getMediaserverPid();
- mStartMemory = getMediaserverVsize();
- Log.v(TAG, "start memory : " + mStartMemory);
-
- try {
- Writer output = new BufferedWriter(new FileWriter(imageCaptureMemFile, true));
- output.write("Camera Image capture\n");
- output.write("No of loops : " + TOTAL_NUMBER_OF_VIDEOCAPTURE + "\n");
- getMemoryWriteToLog(output);
- mOut.write("Video Camera Capture\n");
- mOut.write("No of loops :" + TOTAL_NUMBER_OF_VIDEOCAPTURE + "\n");
- mOut.write("loop: ");
- // Switch to the video mode
- Intent intent = new Intent();
- intent.setClassName("com.android.camera",
- "com.android.camera.VideoCamera");
- getActivity().startActivity(intent);
- for (int i = 0; i < TOTAL_NUMBER_OF_VIDEOCAPTURE; i++) {
- Thread.sleep(WAIT_FOR_PREVIEW);
- // record a video
- inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);
- Thread.sleep(WAIT_FOR_VIDEO_CAPTURE_TO_BE_TAKEN);
- inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);
- Thread.sleep(WAIT_FOR_PREVIEW);
- mOut.write(" ," + i);
- mOut.flush();
- }
- Thread.sleep(WAIT_FOR_STABLE_STATE);
- memoryResult = validateMemoryResult(mStartPid, mStartMemory, output);
- Log.v(TAG, "End memory : " + getMediaserverVsize());
- output.close();
- assertTrue("Camera video capture memory test", memoryResult);
- } catch (Exception e) {
- Log.v(TAG, e.toString());
- fail("Fails to capture video");
- }
- }
-
-}
-
diff --git a/tests/src/com/android/camera/stress/SwitchPreview.java b/tests/src/com/android/camera/stress/SwitchPreview.java
deleted file mode 100755
index e03a563..0000000
--- a/tests/src/com/android/camera/stress/SwitchPreview.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera.stress;
-
-import com.android.camera.VideoCamera;
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-
-import android.app.Instrumentation;
-import android.content.Intent;
-import android.test.ActivityInstrumentationTestCase2;
-import android.test.suitebuilder.annotation.LargeTest;
-import android.util.Log;
-
-/**
- * Junit / Instrumentation test case for camera test
- *
- * Running the test suite:
- *
- * adb shell am instrument \
- * -e class com.android.camera.stress.SwitchPreview \
- * -w com.android.camera.tests/com.android.camera.CameraStressTestRunner
- *
- */
-public class SwitchPreview extends ActivityInstrumentationTestCase2 <VideoCamera>{
- private String TAG = "SwitchPreview";
- private static final int TOTAL_NUMBER_OF_SWITCHING = 200;
- private static final long WAIT_FOR_PREVIEW = 4000;
-
- private static final String CAMERA_TEST_OUTPUT_FILE = "/sdcard/mediaStressOut.txt";
- private BufferedWriter mOut;
- private FileWriter mfstream;
-
- public SwitchPreview() {
- super("com.android.camera", VideoCamera.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- getActivity();
- prepareOutputFile();
- super.setUp();
- }
-
- @Override
- protected void tearDown() throws Exception {
- getActivity().finish();
- closeOutputFile();
- super.tearDown();
- }
-
- private void prepareOutputFile(){
- try{
- mfstream = new FileWriter(CAMERA_TEST_OUTPUT_FILE, true);
- mOut = new BufferedWriter(mfstream);
- } catch (Exception e){
- assertTrue("Camera Switch Mode",false);
- }
- }
-
- private void closeOutputFile() {
- try {
- mOut.write("\n");
- mOut.close();
- mfstream.close();
- } catch (Exception e) {
- assertTrue("CameraSwitchMode close output", false);
- }
- }
-
- @LargeTest
- public void testSwitchMode() {
- //Switching the video and the video recorder mode
- Instrumentation inst = getInstrumentation();
- try{
- mOut.write("Camera Switch Mode:\n");
- mOut.write("No of loops :" + TOTAL_NUMBER_OF_SWITCHING + "\n");
- mOut.write("loop: ");
- for (int i=0; i< TOTAL_NUMBER_OF_SWITCHING; i++) {
- Thread.sleep(WAIT_FOR_PREVIEW);
- Intent intent = new Intent();
- intent.setClassName("com.android.camera",
- "com.android.camera.VideoCamera");
- getActivity().startActivity(intent);
- Thread.sleep(WAIT_FOR_PREVIEW);
- intent.setClassName("com.android.camera",
- "com.android.camera.Camera");
- getActivity().startActivity(intent);
- mOut.write(" ," + i);
- mOut.flush();
- }
- } catch (Exception e){
- Log.v(TAG, e.toString());
- }
- assertTrue("testSwitchMode",true);
- }
-}