diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index af16215..e4d34f5 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -188,7 +188,7 @@
     <string name="clear_effects" msgid="6192797848995967992">"Obriši efekte"</string>
     <string name="effect_silly_faces" msgid="7952713419757286453">"SMEŠNA LICA"</string>
     <string name="effect_background" msgid="1358432220077975015">"POZADINA"</string>
-    <string name="accessibility_shutter_button" msgid="6040483605347230438">"Okidač"</string>
+    <string name="accessibility_shutter_button" msgid="6040483605347230438">"Zatvarač"</string>
     <string name="accessibility_cancel_button" msgid="5679989494636116448">"Otkaži"</string>
     <string name="accessibility_menu_button" msgid="7692103503958544723">"Dugme menija"</string>
     <string name="accessibility_check_box" msgid="1084094675439953723">"Polje za potvrdu %1$s"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 59733ab..20fdf24 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -270,7 +270,7 @@
     <string name="time_lapse_seconds" msgid="7319683099532506270">"Broj sekundi:"</string>
     <string name="time_lapse_minutes" msgid="5325447383033224679">"Broj minuta:"</string>
     <string name="time_lapse_hours" msgid="5294001144133261436">"Broj sati:"</string>
-    <string name="time_lapse_interval_set" msgid="2418594453248958440">"Gotovo"</string>
+    <string name="time_lapse_interval_set" msgid="2418594453248958440">"Završeno"</string>
     <string name="set_time_interval" msgid="2531393962847535331">"Postaviti vremenski interval"</string>
     <string name="set_time_interval_help" msgid="64145154088021389">"Funkcija protoka vremena je isključena. Uključite je kako biste postavili vremenski interval."</string>
     <string name="set_duration" msgid="1638453882581604341">"Postaviti tajmer u sekundama"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 0016ddb..f73580e 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -156,7 +156,7 @@
     <string name="pref_camera_hdr_label" msgid="1918040375414771185">"HDR"</string>
     <string name="pref_camera_id_label_back" msgid="1645608049757733858">"Kamera auf der Vorderseite"</string>
     <string name="pref_camera_id_label_front" msgid="349308803062874842">"Kamera auf der Rückseite"</string>
-    <string name="dialog_ok" msgid="774141340500181131">"Ok"</string>
+    <string name="dialog_ok" msgid="774141340500181131">"OK"</string>
     <string name="dialog_cancel" msgid="692365061128351656">"Abbrechen"</string>
     <string name="dialog_report" msgid="7616428760369876209">"Feedback"</string>
     <string name="dialog_dismiss" msgid="1382550604990470119">"Schließen"</string>
@@ -373,7 +373,7 @@
     <string name="share_to" msgid="5144911209144798122">"Teilen über"</string>
     <string name="edit_with" msgid="615569327230783971">"Bearbeiten mit"</string>
     <string name="startup_dialog_button_next" msgid="1011831256978228993">"Weiter"</string>
-    <string name="confirm_button_text" msgid="7389949384482206814">"Ok"</string>
+    <string name="confirm_button_text" msgid="7389949384482206814">"OK"</string>
     <string name="full_sensor_4x3_aspect_ratio" msgid="1270461419743888925">"Ergebnis beibehalten \n(4:3)"</string>
     <string name="cropped_sensor_16x9_aspect_ratio" msgid="4742161537633251795">"Ergebnis zuschneiden \n(16:9)"</string>
     <string name="pref_boolean_false" msgid="461317129020087333">"0"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index d7e485f..7680ecf 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -58,7 +58,7 @@
     <string name="iso" msgid="8578773821062054902">"ISO"</string>
     <string name="unit_mm" msgid="5210344300697638286">"मिमी"</string>
     <string name="manual" msgid="2444400953521760140">"विवरण पुस्तिका"</string>
-    <string name="auto" msgid="2552649885114400474">"अपने आप"</string>
+    <string name="auto" msgid="2552649885114400474">"स्वतः"</string>
     <string name="flash_on" msgid="6573457197393807642">"फ़्लैश चलाया गया"</string>
     <string name="flash_off" msgid="7889323512830926273">"कोई फ़्लैश नहीं"</string>
     <string name="unknown" msgid="564184550182858146">"अज्ञात"</string>
@@ -98,15 +98,15 @@
     <string name="pref_camera_picturesize_entry_medium" msgid="7708839551627003154">"मध्यम"</string>
     <string name="pref_camera_picturesize_entry_small" msgid="2991239656622539068">"छोटा"</string>
     <string name="pref_camera_focusmode_title" msgid="3637702747984180030">"फ़ोकस मोड"</string>
-    <string name="pref_camera_focusmode_entry_auto" msgid="8977409813328199501">"अपने आप"</string>
+    <string name="pref_camera_focusmode_entry_auto" msgid="8977409813328199501">"स्वतः"</string>
     <string name="pref_camera_focusmode_entry_infinity" msgid="3887667853236656322">"अनंत"</string>
     <string name="pref_camera_focusmode_entry_macro" msgid="7632276686726851426">"मैक्रो"</string>
-    <string name="pref_camera_focusmode_label_auto" msgid="4884418453600317694">"अपने-आप"</string>
+    <string name="pref_camera_focusmode_label_auto" msgid="4884418453600317694">"स्वत:"</string>
     <string name="pref_camera_focusmode_label_infinity" msgid="1673352016120343314">"अनंत"</string>
     <string name="pref_camera_focusmode_label_macro" msgid="5065639298027996399">"मैक्रो"</string>
     <string name="pref_camera_flashmode_title" msgid="8363803841022314574">"फ़्लैश मोड"</string>
     <string name="pref_camera_flashmode_label" msgid="5852483713534762800">"फ़्लैश मोड"</string>
-    <string name="pref_camera_flashmode_entry_auto" msgid="4211992591841657014">"अपने आप"</string>
+    <string name="pref_camera_flashmode_entry_auto" msgid="4211992591841657014">"स्वतः"</string>
     <string name="pref_camera_flashmode_entry_on" msgid="3519831202665377698">"चालू"</string>
     <string name="pref_camera_flashmode_entry_off" msgid="8861322265566617357">"बंद"</string>
     <string name="pref_camera_flashmode_label_auto" msgid="2309144918900450379">"फ़्लैश अपनेआप:"</string>
@@ -114,18 +114,18 @@
     <string name="pref_camera_flashmode_label_off" msgid="7175863901446001441">"फ़्लैश बंद"</string>
     <string name="pref_camera_whitebalance_title" msgid="7962809566612868179">"श्वेत संतुलन"</string>
     <string name="pref_camera_whitebalance_label" msgid="7370366644738746700">"श्वेत संतुलन"</string>
-    <string name="pref_camera_whitebalance_entry_auto" msgid="1390631794449502796">"अपने आप"</string>
+    <string name="pref_camera_whitebalance_entry_auto" msgid="1390631794449502796">"स्वतः"</string>
     <string name="pref_camera_whitebalance_entry_incandescent" msgid="1140391575294372706">"अत्यधिक चमकीला"</string>
     <string name="pref_camera_whitebalance_entry_daylight" msgid="757833578153467254">"दिन का प्रकाश"</string>
     <string name="pref_camera_whitebalance_entry_fluorescent" msgid="5157027611220790970">"फ़्लोरेसेंट"</string>
     <string name="pref_camera_whitebalance_entry_cloudy" msgid="3569589102226796875">"धुंधला"</string>
-    <string name="pref_camera_whitebalance_label_auto" msgid="4305837287360485369">"अपने-आप"</string>
+    <string name="pref_camera_whitebalance_label_auto" msgid="4305837287360485369">"स्वत:"</string>
     <string name="pref_camera_whitebalance_label_incandescent" msgid="2860805668879945185">"अत्यधिक चमकीला"</string>
     <string name="pref_camera_whitebalance_label_daylight" msgid="4562002095198912409">"दिन का प्रकाश"</string>
     <string name="pref_camera_whitebalance_label_fluorescent" msgid="10552295745391742">"फ़्लोरेसेंट"</string>
     <string name="pref_camera_whitebalance_label_cloudy" msgid="4880793739075193336">"धुंधला"</string>
     <string name="pref_camera_scenemode_title" msgid="5709932164781367066">"दृश्य मोड"</string>
-    <string name="pref_camera_scenemode_entry_auto" msgid="9205644316260850379">"अपने आप"</string>
+    <string name="pref_camera_scenemode_entry_auto" msgid="9205644316260850379">"स्वतः"</string>
     <string name="pref_camera_scenemode_entry_hdr_plus" msgid="6759085555519758794">"HDR+"</string>
     <string name="pref_camera_scenemode_entry_hdr" msgid="3098836808080630955">"HDR"</string>
     <string name="pref_camera_scenemode_entry_turn_hdr_plus_on" msgid="1096746750342289067">"HDR+ चालू"</string>
@@ -279,7 +279,7 @@
     <string name="remember_location_prompt" msgid="3006013504489919474">"अपनी फ़ोटो और वीडियो उन स्‍थानों के साथ टैग करें जहां वे लिए गए हैं."</string>
     <string name="remember_location_no" msgid="4412802756840226925">"नहीं,रहने दें"</string>
     <string name="remember_location_yes" msgid="4339424460683531388">"हां"</string>
-    <string name="camera_menu_more_label" msgid="7951917844735828365">"ज़्यादा विकल्प"</string>
+    <string name="camera_menu_more_label" msgid="7951917844735828365">"अधिक विकल्प"</string>
     <string name="camera_menu_settings_label" msgid="3862756725328016822">"सेटिंग"</string>
     <string name="create_tiny_planet" msgid="5186918191372107343">"छोटा ग्रह बनाएं"</string>
     <string name="saving_tiny_planet" msgid="8828265180177375494">"छोटा ग्रह सहेजा जा रहा है …"</string>
@@ -313,7 +313,7 @@
     <string name="flash_auto_desc" msgid="3009043125539675717">"फ़्लैश ऑटो"</string>
     <string name="flash_on_desc" msgid="930372145324854699">"फ़्लैश चालू"</string>
     <string name="hdr_plus_flash_off_desc" msgid="5335888906983788789">"HDR+ फ़्लैश बंद"</string>
-    <string name="hdr_plus_flash_auto_desc" msgid="4812200236263011537">"HDR+ फ़्लैशअपने-आप"</string>
+    <string name="hdr_plus_flash_auto_desc" msgid="4812200236263011537">"HDR+ फ़्लैश स्वत:"</string>
     <string name="hdr_plus_flash_on_desc" msgid="8323389161987561284">"HDR+ फ़्लैश चालू"</string>
     <string name="torch_on_desc" msgid="3069836196559213365">"टॉर्च चालू"</string>
     <string name="torch_off_desc" msgid="8304675202998742618">"टॉर्च बंद"</string>
@@ -324,7 +324,7 @@
     <string name="countdown_timer_off" msgid="1663008439564495948">"काउंटडाउन टाइमर बंद है"</string>
     <string name="countdown_timer_duration_3s" msgid="7435393834886072664">"काउंटडाउन टाइमर अवधि 3 सेकंड पर सेट है"</string>
     <string name="countdown_timer_duration_10s" msgid="9085308782250002795">"काउंटडाउन टाइमर अवधि 10 सेकंड पर सेट है"</string>
-    <string name="more_options_desc" msgid="4628738800610478353">"ज़्यादा विकल्प"</string>
+    <string name="more_options_desc" msgid="4628738800610478353">"अधिक विकल्प"</string>
     <string name="cancel_button_description" msgid="3801167024006905033">"अभी नहीं"</string>
     <string name="done_button_description" msgid="1334963435441544592">"पूर्ण"</string>
     <string name="retake_button_description" msgid="4234613030674787714">"फिर से लें"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9fb506f..a9ab833 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -87,7 +87,7 @@
     <!-- no translation found for pref_camera_timer_sound_default (6225207881203007747) -->
     <skip />
     <string name="pref_camera_timer_sound_title" msgid="9036987234878551217">"Bip conto alla rov."</string>
-    <string name="setting_off" msgid="6782191065550276632">"Off"</string>
+    <string name="setting_off" msgid="6782191065550276632">"OFF"</string>
     <string name="setting_on" msgid="9086728135773197891">"ON"</string>
     <string name="pref_video_quality_title" msgid="5887153490982738588">"Qualità video"</string>
     <string name="pref_video_time_lapse_frame_interval_title" msgid="4975260837607993569">"Time-lapse"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 1727e93..41e4633 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -62,7 +62,7 @@
     <string name="flash_on" msgid="6573457197393807642">"フラッシュON"</string>
     <string name="flash_off" msgid="7889323512830926273">"フラッシュOFF"</string>
     <string name="unknown" msgid="564184550182858146">"不明"</string>
-    <string name="try_to_set_local_album_available_offline" msgid="3363125545009254117">"このアイテムはデバイスに保存され、オフラインで利用できます。"</string>
+    <string name="try_to_set_local_album_available_offline" msgid="3363125545009254117">"このアイテムは端末に保存され、オフラインで利用できます。"</string>
     <string name="please_wait" msgid="1416313324505140068">"お待ちください"</string>
     <string name="camera_error_title" msgid="6200558085072670067">"カメラエラー"</string>
     <string name="error_cannot_connect_camera" msgid="2713059773224193128">"カメラに接続できません。"</string>
@@ -76,7 +76,7 @@
     <string name="access_sd_fail" product="default" msgid="2634861611082499811">"SDカードにアクセスできませんでした。"</string>
     <string name="time_lapse_title" msgid="3267978566401228497">"低速度撮影"</string>
     <string name="feedback_description_camera_access" msgid="419090951070170132">"アプリをカメラに接続できませんでした"</string>
-    <string name="feedback_description_save_photo" msgid="8658767358989083228">"写真または動画はデバイスに保存されませんでした。"</string>
+    <string name="feedback_description_save_photo" msgid="8658767358989083228">"写真または動画は端末に保存されませんでした。"</string>
     <string name="capturing" msgid="5255164204641920893">"キャプチャしています"</string>
     <string name="pref_camera_id_title" msgid="4680648115225411185">"カメラを選択"</string>
     <string name="pref_camera_id_entry_back" msgid="6386943973628160510">"戻る"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index b094d4a..17a078d 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -348,7 +348,7 @@
     <string name="setting_default_camera" msgid="6954076799301004779">"Бастапқы камера"</string>
     <string name="setting_google_help_and_feedback" msgid="2079580537079242775">"Анықтама және кері байл."</string>
     <string name="processing_hdr_plus" msgid="9160093263037540304">"HDR+ өңделуде …"</string>
-    <string name="open_source_licenses" msgid="2169711954264883060">"Ашық кодты бағдарлама лицензиялары"</string>
+    <string name="open_source_licenses" msgid="2169711954264883060">"Ашық бастапқы код лицензиялары"</string>
     <string name="pref_category_general" msgid="6737748849700581019">"Жалпы параметрлер"</string>
     <string name="pref_category_resolution_quality" msgid="6641462402321962896">"Ажыратымдылық және сапа"</string>
     <string name="pref_category_about" msgid="1966255405679342337">"Туралы"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 59c997d..7dc363e 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -348,7 +348,7 @@
     <string name="setting_default_camera" msgid="6954076799301004779">"डीफॉल्ट कॅमेरा"</string>
     <string name="setting_google_help_and_feedback" msgid="2079580537079242775">"मदत आणि अभिप्राय"</string>
     <string name="processing_hdr_plus" msgid="9160093263037540304">"HDR+ प्रक्रिया करत आहे …"</string>
-    <string name="open_source_licenses" msgid="2169711954264883060">"मुक्त स्रोत परवाने"</string>
+    <string name="open_source_licenses" msgid="2169711954264883060">"मुक्त स्त्रोत परवाने"</string>
     <string name="pref_category_general" msgid="6737748849700581019">"सामान्य सेटिंग्ज"</string>
     <string name="pref_category_resolution_quality" msgid="6641462402321962896">"रिझोल्‍यूशन आणि गुणवत्ता"</string>
     <string name="pref_category_about" msgid="1966255405679342337">"विषयी"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 89d08dd..de1a154 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -188,7 +188,7 @@
     <string name="clear_effects" msgid="6192797848995967992">"Обриши ефекте"</string>
     <string name="effect_silly_faces" msgid="7952713419757286453">"СМЕШНА ЛИЦА"</string>
     <string name="effect_background" msgid="1358432220077975015">"ПОЗАДИНА"</string>
-    <string name="accessibility_shutter_button" msgid="6040483605347230438">"Окидач"</string>
+    <string name="accessibility_shutter_button" msgid="6040483605347230438">"Затварач"</string>
     <string name="accessibility_cancel_button" msgid="5679989494636116448">"Откажи"</string>
     <string name="accessibility_menu_button" msgid="7692103503958544723">"Дугме менија"</string>
     <string name="accessibility_check_box" msgid="1084094675439953723">"Поље за потврду %1$s"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 4224788..d48cd3c 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -75,7 +75,7 @@
     <string name="preparing_sd" product="default" msgid="7435693655017362767">"SD கார்டைத் தயார் செய்கிறது..."</string>
     <string name="access_sd_fail" product="default" msgid="2634861611082499811">"SD கார்டை அணுக முடியவில்லை."</string>
     <string name="time_lapse_title" msgid="3267978566401228497">"இடைவெளிக்கான நேரம் பதிவாகிறது"</string>
-    <string name="feedback_description_camera_access" msgid="419090951070170132">"ஆப்ஸை கேமராவுடன் இணைக்க முடியவில்லை"</string>
+    <string name="feedback_description_camera_access" msgid="419090951070170132">"பயன்பாட்டை கேமராவுடன் இணைக்க முடியவில்லை"</string>
     <string name="feedback_description_save_photo" msgid="8658767358989083228">"சாதனத்தில் படம் அல்லது வீடியோ சேமிக்கப்படவில்லை."</string>
     <string name="capturing" msgid="5255164204641920893">"படமெடுக்கிறது"</string>
     <string name="pref_camera_id_title" msgid="4680648115225411185">"கேமராவைத் தேர்வுசெய்க"</string>
@@ -190,7 +190,7 @@
     <string name="effect_background" msgid="1358432220077975015">"பின்புலம்"</string>
     <string name="accessibility_shutter_button" msgid="6040483605347230438">"ஷட்டர்"</string>
     <string name="accessibility_cancel_button" msgid="5679989494636116448">"ரத்துசெய்"</string>
-    <string name="accessibility_menu_button" msgid="7692103503958544723">"மெனு பட்டன்"</string>
+    <string name="accessibility_menu_button" msgid="7692103503958544723">"மெனு பொத்தான்"</string>
     <string name="accessibility_check_box" msgid="1084094675439953723">"%1$s செக் பாக்ஸ்"</string>
     <string name="accessibility_switch_to_camera" msgid="4518394037216725274">"படத்திற்கு மாறு"</string>
     <string name="accessibility_switch_to_video" msgid="8174781871592793967">"வீடியோவிற்கு மாறு"</string>
@@ -339,7 +339,7 @@
     <string name="exposure_compensation_desc_0" msgid="2820273752287040523">"எக்ஸ்போஷரைச் சரிசெய்தல் 0"</string>
     <string name="exposure_compensation_desc_p1" msgid="2328275401634452554">"எக்ஸ்போஷரைச் சரிசெய்தல் +1"</string>
     <string name="exposure_compensation_desc_p2" msgid="4555277824096107142">"எக்ஸ்போஷரைச் சரிசெய்தல் +2"</string>
-    <string name="button_change_announcement" msgid="3759686152778772111">"பட்டன் இப்போது %s இல் உள்ளது"</string>
+    <string name="button_change_announcement" msgid="3759686152778772111">"பொத்தான் இப்போது %s இல் உள்ளது"</string>
     <string name="setting_location" msgid="4459859689227893838">"இருப்பிடம்"</string>
     <string name="setting_back_camera_photo" msgid="256738900473265017">"பின்புற கேமரா படம்"</string>
     <string name="setting_back_camera_video" msgid="5220819479408164689">"பின்புற கேமரா வீடியோ"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index af21653..41305a7 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -212,7 +212,7 @@
     <string name="photo_date_content_description" msgid="5705865897898465619">"%s 拍攝的相片"</string>
     <string name="video_date_content_description" msgid="2151884014634284456">"%s 拍攝的影片"</string>
     <string name="panorama_date_content_description" msgid="990703578639006144">"%s 拍攝的全景相片"</string>
-    <string name="photosphere_date_content_description" msgid="4183741743409007876">"%s 拍攝的 全景相片"</string>
+    <string name="photosphere_date_content_description" msgid="4183741743409007876">"%s 拍攝的 Photo Sphere 全景相片"</string>
     <string name="refocus_date_content_description" msgid="5630960320424345547">"%s 拍攝的鏡頭模糊相片"</string>
     <string name="media_processing_content_description" msgid="8138587719107183754">"正在處理的媒體項目"</string>
     <string name="accessibility_mode_list_toggle" msgid="4784230103566918645">"切換模式清單"</string>
diff --git a/src/com/android/camera/async/Futures2.java b/src/com/android/camera/async/Futures2.java
index 6669132..052c722 100644
--- a/src/com/android/camera/async/Futures2.java
+++ b/src/com/android/camera/async/Futures2.java
@@ -20,6 +20,7 @@
 import com.google.common.util.concurrent.ForwardingListenableFuture;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
 
 import java.util.List;
 
@@ -96,7 +97,7 @@
         // allAsList will propagate the failures instead of null values to the
         // parameters of the supplied function.
         ListenableFuture<List<Object>> result = Futures.<Object>allAsList(futures);
-        return Futures.transform(result, new AsyncFunction<List<Object>, TResult>() {
+        return Futures.transformAsync(result, new AsyncFunction<List<Object>, TResult>() {
             @Override
             public ListenableFuture<TResult> apply(@Nullable List<Object> list) throws Exception {
                 T1 value1 = (T1) list.get(0);
@@ -104,7 +105,7 @@
 
                 return fn.apply(value1, value2);
             }
-        });
+        }, MoreExecutors.directExecutor());
     }
 
     /**
@@ -141,7 +142,7 @@
         // allAsList will propagate the failures instead of null values to the
         // parameters of the supplied function.
         ListenableFuture<List<Object>> result = Futures.<Object>allAsList(futures);
-        return Futures.transform(result, new AsyncFunction<List<Object>, TResult>() {
+        return Futures.transformAsync(result, new AsyncFunction<List<Object>, TResult>() {
             @Override
             public ListenableFuture<TResult> apply(@Nullable List<Object> list) throws Exception {
                 T1 value1 = (T1) list.get(0);
@@ -150,7 +151,7 @@
 
                 return fn.apply(value1, value2, value3);
             }
-        });
+        }, MoreExecutors.directExecutor());
     }
 
     /**
diff --git a/src/com/android/camera/async/Observables.java b/src/com/android/camera/async/Observables.java
index e946fee..0fbfc6c 100644
--- a/src/com/android/camera/async/Observables.java
+++ b/src/com/android/camera/async/Observables.java
@@ -114,6 +114,6 @@
             public void run() {
                 callback.update(observable.get());
             }
-        }, MoreExecutors.sameThreadExecutor());
+        }, MoreExecutors.directExecutor());
     }
 }
diff --git a/src/com/android/camera/one/OneCameraCharacteristics.java b/src/com/android/camera/one/OneCameraCharacteristics.java
index 24584da..27504a2 100644
--- a/src/com/android/camera/one/OneCameraCharacteristics.java
+++ b/src/com/android/camera/one/OneCameraCharacteristics.java
@@ -135,6 +135,11 @@
     public boolean isAutoFocusSupported();
 
     /**
+     * @return true if this camera supports continuous picture autofocus.
+     */
+    public boolean isContinuousPictureAutoFocusSupported();
+
+    /**
      * @return true if this camera supports custom AutoExposure regions.
      */
     public boolean isAutoExposureSupported();
diff --git a/src/com/android/camera/one/v1/OneCameraCharacteristicsImpl.java b/src/com/android/camera/one/v1/OneCameraCharacteristicsImpl.java
index b14e66e..c525b57 100644
--- a/src/com/android/camera/one/v1/OneCameraCharacteristicsImpl.java
+++ b/src/com/android/camera/one/v1/OneCameraCharacteristicsImpl.java
@@ -176,6 +176,11 @@
     }
 
     @Override
+    public boolean isContinuousPictureAutoFocusSupported() {
+        return getCameraDirection() == Facing.BACK;
+    }
+
+    @Override
     public boolean isAutoExposureSupported() {
         // Custom AE is only supported on the back camera for legacy devices.
         return getCameraDirection() == Facing.BACK;
diff --git a/src/com/android/camera/one/v2/OneCameraCharacteristicsImpl.java b/src/com/android/camera/one/v2/OneCameraCharacteristicsImpl.java
index f7a2b7e..77e9a81 100644
--- a/src/com/android/camera/one/v2/OneCameraCharacteristicsImpl.java
+++ b/src/com/android/camera/one/v2/OneCameraCharacteristicsImpl.java
@@ -244,6 +244,20 @@
     }
 
     @Override
+    public boolean isContinuousPictureAutoFocusSupported() {
+        int[] availableAfModes =
+                mCameraCharacteristics.get(CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES);
+        boolean continuousPictureAfModeAvailable = false;
+        for (int i = 0; i < availableAfModes.length; i++) {
+            if (availableAfModes[i] == CameraCharacteristics.CONTROL_AF_MODE_CONTINUOUS_PICTURE) {
+                continuousPictureAfModeAvailable = true;
+                break;
+            }
+        }
+        return  isAutoFocusSupported() && continuousPictureAfModeAvailable;
+    }
+
+    @Override
     public boolean isAutoExposureSupported() {
         Integer maxAeRegions = mCameraCharacteristics.get(
               CameraCharacteristics.CONTROL_MAX_REGIONS_AE);
diff --git a/src/com/android/camera/one/v2/OneCameraImpl.java b/src/com/android/camera/one/v2/OneCameraImpl.java
index d4c7cba..c3b8ecb 100644
--- a/src/com/android/camera/one/v2/OneCameraImpl.java
+++ b/src/com/android/camera/one/v2/OneCameraImpl.java
@@ -71,6 +71,7 @@
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -512,7 +513,7 @@
             public void onFailure(Throwable throwable) {
                 captureParams.callback.onPictureSaved(null);
             }
-        });
+        }, MoreExecutors.directExecutor());
     }
 
     /**
diff --git a/src/com/android/camera/one/v2/OneCameraZslImpl.java b/src/com/android/camera/one/v2/OneCameraZslImpl.java
index 5464ab8..a35a6c1 100644
--- a/src/com/android/camera/one/v2/OneCameraZslImpl.java
+++ b/src/com/android/camera/one/v2/OneCameraZslImpl.java
@@ -71,6 +71,7 @@
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
 
 import java.nio.ByteBuffer;
 import java.security.InvalidParameterException;
@@ -649,7 +650,7 @@
             public void onFailure(Throwable throwable) {
                 captureParams.callback.onPictureSaved(null);
             }
-        });
+        }, MoreExecutors.directExecutor());
     }
 
     /**
diff --git a/src/com/android/camera/one/v2/camera2proxy/AndroidImageProxy.java b/src/com/android/camera/one/v2/camera2proxy/AndroidImageProxy.java
index 3dc5d65..ef9baa5 100644
--- a/src/com/android/camera/one/v2/camera2proxy/AndroidImageProxy.java
+++ b/src/com/android/camera/one/v2/camera2proxy/AndroidImageProxy.java
@@ -19,6 +19,7 @@
 import android.graphics.Rect;
 import android.media.Image;
 
+import com.google.common.base.MoreObjects;
 import com.google.common.base.Objects;
 import com.google.common.collect.ImmutableList;
 
@@ -203,7 +204,7 @@
 
     @Override
     public String toString() {
-        return Objects.toStringHelper(this)
+        return MoreObjects.toStringHelper(this)
                 .add("format", getFormat())
                 .add("timestamp", getTimestamp())
                 .add("width", getWidth())
diff --git a/src/com/android/camera/one/v2/camera2proxy/AndroidImageReaderProxy.java b/src/com/android/camera/one/v2/camera2proxy/AndroidImageReaderProxy.java
index 8a59c83..e4c0638 100644
--- a/src/com/android/camera/one/v2/camera2proxy/AndroidImageReaderProxy.java
+++ b/src/com/android/camera/one/v2/camera2proxy/AndroidImageReaderProxy.java
@@ -21,7 +21,7 @@
 import android.os.Handler;
 import android.view.Surface;
 
-import com.google.common.base.Objects;
+import com.google.common.base.MoreObjects;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
@@ -160,9 +160,9 @@
 
     @Override
     public String toString() {
-        Objects.ToStringHelper tsh;
+        MoreObjects.ToStringHelper tsh;
         synchronized (mLock) {
-            tsh = Objects.toStringHelper(mDelegate);
+            tsh = MoreObjects.toStringHelper(mDelegate);
         }
         return tsh.add("width", getWidth())
                 .add("height", getHeight())
diff --git a/src/com/android/camera/one/v2/camera2proxy/ForwardingImageProxy.java b/src/com/android/camera/one/v2/camera2proxy/ForwardingImageProxy.java
index 545ff60..98d972e 100644
--- a/src/com/android/camera/one/v2/camera2proxy/ForwardingImageProxy.java
+++ b/src/com/android/camera/one/v2/camera2proxy/ForwardingImageProxy.java
@@ -19,6 +19,7 @@
 import android.graphics.Rect;
 import android.media.Image;
 
+import com.google.common.base.MoreObjects;
 import com.google.common.base.Objects;
 
 import java.util.List;
@@ -102,7 +103,7 @@
 
     @Override
     public String toString() {
-        return Objects.toStringHelper(this)
+        return MoreObjects.toStringHelper(this)
                 .add("timestamp", getTimestamp())
                 .add("width", getWidth())
                 .add("height", getHeight())
diff --git a/src/com/android/camera/one/v2/common/BasicCameraFactory.java b/src/com/android/camera/one/v2/common/BasicCameraFactory.java
index 2cd4098..44883ea 100644
--- a/src/com/android/camera/one/v2/common/BasicCameraFactory.java
+++ b/src/com/android/camera/one/v2/common/BasicCameraFactory.java
@@ -87,8 +87,12 @@
             Observable<Boolean> hdrSceneSetting,
             int templateType) {
         RequestTemplate requestTemplate = new RequestTemplate(rootTemplate);
-        requestTemplate.setParam(
-              CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);
+        if (cameraCharacteristics.isContinuousPictureAutoFocusSupported()) {
+            requestTemplate.setParam(
+                    CaptureRequest.CONTROL_AF_MODE,
+                    CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);
+        }
+
         requestTemplate.setParam(
               CaptureRequest.CONTROL_AE_MODE, new FlashBasedAEMode(flash, hdrSceneSetting));
         requestTemplate.setParam(
@@ -126,16 +130,16 @@
         // Also, de-register these callbacks when the camera is closed (to
         // not leak memory).
         SafeCloseable zoomCallback = zoom.addCallback(mPreviewUpdater, MoreExecutors
-                .sameThreadExecutor());
+                .directExecutor());
         lifetime.add(zoomCallback);
         SafeCloseable flashCallback = flash.addCallback(mPreviewUpdater, MoreExecutors
-                .sameThreadExecutor());
+                .directExecutor());
         lifetime.add(flashCallback);
         SafeCloseable exposureCallback = exposure.addCallback(mPreviewUpdater, MoreExecutors
-                .sameThreadExecutor());
+                .directExecutor());
         lifetime.add(exposureCallback);
         SafeCloseable hdrCallback = hdrSceneSetting.addCallback(mPreviewUpdater, MoreExecutors
-                .sameThreadExecutor());
+                .directExecutor());
         lifetime.add(hdrCallback);
 
         int sensorOrientation = cameraCharacteristics.getSensorOrientation();
diff --git a/src/com/android/camera/one/v2/common/PictureSizeCalculator.java b/src/com/android/camera/one/v2/common/PictureSizeCalculator.java
index eb25be0..8f2fb6a 100644
--- a/src/com/android/camera/one/v2/common/PictureSizeCalculator.java
+++ b/src/com/android/camera/one/v2/common/PictureSizeCalculator.java
@@ -22,6 +22,7 @@
 import com.android.camera.one.OneCameraCharacteristics;
 import com.android.camera.util.AspectRatio;
 import com.android.camera.util.Size;
+import com.google.common.base.MoreObjects;
 import com.google.common.base.Objects;
 import com.google.common.base.Preconditions;
 
@@ -76,7 +77,7 @@
 
         @Override
         public String toString() {
-            return Objects.toStringHelper("PictureSizeCalculator.Configuration")
+            return MoreObjects.toStringHelper("PictureSizeCalculator.Configuration")
                     .add("native size", mSize)
                     .add("crop", mPostCrop)
                     .toString();
diff --git a/src/com/android/camera/one/v2/initialization/GenericOneCameraImpl.java b/src/com/android/camera/one/v2/initialization/GenericOneCameraImpl.java
index f966bfd..472378f 100644
--- a/src/com/android/camera/one/v2/initialization/GenericOneCameraImpl.java
+++ b/src/com/android/camera/one/v2/initialization/GenericOneCameraImpl.java
@@ -35,6 +35,7 @@
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
 
 import java.util.concurrent.Executor;
 
@@ -159,7 +160,7 @@
             public void onFailure(@Nonnull Throwable throwable) {
                 listener.onSetupFailed();
             }
-        });
+        }, MoreExecutors.directExecutor());
     }
 
     @Override
diff --git a/src/com/android/camera/one/v2/initialization/PreviewStarter.java b/src/com/android/camera/one/v2/initialization/PreviewStarter.java
index 99c34a3..17a0966 100644
--- a/src/com/android/camera/one/v2/initialization/PreviewStarter.java
+++ b/src/com/android/camera/one/v2/initialization/PreviewStarter.java
@@ -24,6 +24,7 @@
 import com.google.common.util.concurrent.AsyncFunction;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -82,7 +83,7 @@
         final ListenableFuture<CameraCaptureSessionProxy> sessionFuture =
                 mCaptureSessionCreator.createCaptureSession(surfaceList);
 
-        return Futures.transform(sessionFuture,
+        return Futures.transformAsync(sessionFuture,
                 new AsyncFunction<CameraCaptureSessionProxy, Void>() {
                     @Override
                     public ListenableFuture<Void> apply(
@@ -90,6 +91,6 @@
                         mSessionListener.onCameraCaptureSessionCreated(captureSession, surface);
                         return Futures.immediateFuture(null);
                     }
-                });
+                }, MoreExecutors.directExecutor());
     }
 }
diff --git a/src/com/android/camera/one/v2/photo/PictureTakerImpl.java b/src/com/android/camera/one/v2/photo/PictureTakerImpl.java
index 13498c7..59245da 100644
--- a/src/com/android/camera/one/v2/photo/PictureTakerImpl.java
+++ b/src/com/android/camera/one/v2/photo/PictureTakerImpl.java
@@ -28,7 +28,7 @@
 import com.android.camera.one.v2.core.ResourceAcquisitionFailedException;
 import com.android.camera.one.v2.imagesaver.ImageSaver;
 import com.android.camera.session.CaptureSession;
-import com.google.common.base.Objects;
+import com.google.common.base.MoreObjects;
 
 class PictureTakerImpl implements PictureTaker {
     private final MainThread mMainExecutor;
@@ -70,7 +70,7 @@
 
         @Override
         public String toString() {
-            return Objects.toStringHelper(this)
+            return MoreObjects.toStringHelper(this)
                     .add("command", mCommand)
                     .toString();
         }
diff --git a/src/com/android/camera/one/v2/sharedimagereader/metadatasynchronizer/MetadataPoolImpl.java b/src/com/android/camera/one/v2/sharedimagereader/metadatasynchronizer/MetadataPoolImpl.java
index 8500ebe..5be9032 100644
--- a/src/com/android/camera/one/v2/sharedimagereader/metadatasynchronizer/MetadataPoolImpl.java
+++ b/src/com/android/camera/one/v2/sharedimagereader/metadatasynchronizer/MetadataPoolImpl.java
@@ -25,6 +25,7 @@
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.SettableFuture;
 
 import java.util.HashMap;
@@ -81,7 +82,7 @@
             public void onFailure(Throwable throwable) {
                 throw new UnsupportedOperationException();
             }
-        });
+        }, MoreExecutors.directExecutor());
         return Futures2.nonCancellationPropagating(future);
     }
 
diff --git a/src/com/android/camera/one/v2/sharedimagereader/ringbuffer/DynamicRingBufferFactory.java b/src/com/android/camera/one/v2/sharedimagereader/ringbuffer/DynamicRingBufferFactory.java
index 1530c48..11350f2 100644
--- a/src/com/android/camera/one/v2/sharedimagereader/ringbuffer/DynamicRingBufferFactory.java
+++ b/src/com/android/camera/one/v2/sharedimagereader/ringbuffer/DynamicRingBufferFactory.java
@@ -51,7 +51,7 @@
             public void run() {
                 ringBuffer.setMaxSize(Math.max(0, maxRingBufferSize.get()));
             }
-        }, MoreExecutors.sameThreadExecutor()));
+        }, MoreExecutors.directExecutor()));
         ringBuffer.setMaxSize(Math.max(0, maxRingBufferSize.get()));
 
         mOutputTicketPool = ringBuffer;
diff --git a/src/com/android/camera/processing/imagebackend/TaskCompressImageToJpeg.java b/src/com/android/camera/processing/imagebackend/TaskCompressImageToJpeg.java
index 2e5976c..c87eab8 100644
--- a/src/com/android/camera/processing/imagebackend/TaskCompressImageToJpeg.java
+++ b/src/com/android/camera/processing/imagebackend/TaskCompressImageToJpeg.java
@@ -39,6 +39,7 @@
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
 
 import java.nio.ByteBuffer;
 import java.util.HashMap;
@@ -355,7 +356,7 @@
             @Override
             public void onFailure(Throwable throwable) {
             }
-        });
+        }, MoreExecutors.directExecutor());
 
         final ListenableFuture<TotalCaptureResultProxy> requestMetadata = img.metadata;
         // If TotalCaptureResults are available add them to the capture event.
