[automerger skipped] Import translations. DO NOT MERGE
am: 3a8f890430 -s ours
am skip reason: subject contains skip directive

Change-Id: I6d720a3774a9b47f946083a7d654701760ae3c21
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 8eac9eb..59733ab 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -161,7 +161,7 @@
     <string name="dialog_report" msgid="7616428760369876209">"Prijavi"</string>
     <string name="dialog_dismiss" msgid="1382550604990470119">"Odbaci"</string>
     <string name="spaceIsLow_content" product="default" msgid="4522771065344332702">"Vaša SD kartica je skoro puna. Promijenite postavku kvaliteta ili izbrišite nekoliko slika ili drugih fajlova."</string>
-    <string name="video_reach_size_limit" msgid="9196836111505731836">"Dostignuto je ograničenje veličine."</string>
+    <string name="video_reach_size_limit" msgid="9196836111505731836">"Dostignut limit za veličinu videozapisa."</string>
     <string name="pano_too_fast_prompt" msgid="2503148095578052177">"Prebrzo kretanje"</string>
     <string name="pano_dialog_prepare_preview" msgid="4445235163599534263">"Pripremanje panorame"</string>
     <string name="pano_dialog_panorama_failed" msgid="6772546547048693619">"Panorama nije mogla biti sačuvana."</string>
@@ -297,12 +297,12 @@
     <string name="mode_timelapse" msgid="1517168724627815453">"Protok vremena"</string>
     <string name="mode_wideangle" msgid="1099640345041696830">"Široki ugao"</string>
     <string name="mode_panorama" msgid="6882648621305828861">"Panoramski način rada"</string>
-    <string name="mode_refocus" msgid="172192967119469061">"Efekat s izoštr. objektom"</string>
+    <string name="mode_refocus" msgid="172192967119469061">"Efekt s izoštr. objektom"</string>
     <string name="mode_camera_desc" msgid="3670807361165657278">"Prebaci na način rada za kameru"</string>
     <string name="mode_video_desc" msgid="4058407412929464689">"Prebaciti na videokameru"</string>
     <string name="mode_photosphere_desc" msgid="2403816283825579161">"Prebaci na način rada za photo sphere fotografije"</string>
     <string name="mode_panorama_desc" msgid="6023020404237519590">"Prebaci na panoramski način rada"</string>
-    <string name="mode_refocus_desc" msgid="6171183297515508465">"Prebaci na način rada Efekat s izoštrenim objektom"</string>
+    <string name="mode_refocus_desc" msgid="6171183297515508465">"Prebaci na način rada Efekt s izoštrenim objektom"</string>
     <string name="settings_open_desc" msgid="6914471293841793766">"Otvori postavke"</string>
     <string name="settings_close_desc" msgid="3095831199632813127">"Zatvori postavke"</string>
     <string name="hdr_plus_off_desc" msgid="5301287296717144319">"HDR Plus isključen"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 2534014..086591e 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -68,7 +68,7 @@
     <string name="error_cannot_connect_camera" msgid="2713059773224193128">"Ezin da kamerara konektatu."</string>
     <string name="error_camera_disabled" msgid="5582398275657419692">"Segurtasun-gidalerroak direla medio, kamera desgaitu egin da."</string>
     <string name="error_media_storage_failure" msgid="7711687330673245629">"Arazo bat izan da argazkia edo bideoa gordetzean."</string>
-    <string name="error_permissions" msgid="3454167403425651254">"Aplikazioak ez du abiarazi ahal izateko derrigorrez beharrezko baimenik. Egiaztatu baimenen ezarpenak."</string>
+    <string name="error_permissions" msgid="3454167403425651254">"Aplikazioak ez du exekutatu ahal izateko derrigorrez beharrezko baimenik. Egiaztatu baimenen ezarpenak."</string>
     <string name="reason_storage_failure" msgid="6818898304774654969">"Errore bat gertatu da argazki-biltegian."</string>
     <string name="wait" msgid="765601745709933047">"Itxaron, mesedez…"</string>
     <string name="no_storage" product="default" msgid="5922012950780548098">"Txertatu SD txartela kamera erabili aurretik."</string>
diff --git a/src/com/android/camera/PermissionsActivity.java b/src/com/android/camera/PermissionsActivity.java
index 3fda04a..1f94463 100644
--- a/src/com/android/camera/PermissionsActivity.java
+++ b/src/com/android/camera/PermissionsActivity.java
@@ -36,14 +36,17 @@
     private int mIndexPermissionRequestMicrophone;
     private int mIndexPermissionRequestLocation;
     private int mIndexPermissionRequestStorage;
+    private int mIndexPermissionRequestWriteStorage;
     private boolean mShouldRequestCameraPermission;
     private boolean mShouldRequestMicrophonePermission;
     private boolean mShouldRequestLocationPermission;
     private boolean mShouldRequestStoragePermission;
+    private boolean mShouldRequestWriteStoragePermission;
     private int mNumPermissionsToRequest;
     private boolean mFlagHasCameraPermission;
     private boolean mFlagHasMicrophonePermission;
     private boolean mFlagHasStoragePermission;
+    private boolean mFlagHasWriteStoragePermission;
     private SettingsManager mSettingsManager;
 
     /**
@@ -121,6 +124,14 @@
             mFlagHasStoragePermission = true;
         }
 
+        if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
+                != PackageManager.PERMISSION_GRANTED) {
+            mNumPermissionsToRequest++;
+            mShouldRequestWriteStoragePermission = true;
+        } else {
+            mFlagHasWriteStoragePermission = true;
+        }
+
         if (checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION)
                 != PackageManager.PERMISSION_GRANTED) {
             mNumPermissionsToRequest++;
@@ -160,6 +171,11 @@
             mIndexPermissionRequestStorage = permissionsRequestIndex;
             permissionsRequestIndex++;
         }
+        if (mShouldRequestWriteStoragePermission) {
+            permissionsToRequest[permissionsRequestIndex] = Manifest.permission.WRITE_EXTERNAL_STORAGE;
+            mIndexPermissionRequestWriteStorage = permissionsRequestIndex;
+            permissionsRequestIndex++;
+        }
         if (mShouldRequestLocationPermission) {
             permissionsToRequest[permissionsRequestIndex] = Manifest.permission.ACCESS_COARSE_LOCATION;
             mIndexPermissionRequestLocation = permissionsRequestIndex;
@@ -202,6 +218,14 @@
                 handlePermissionsFailure();
             }
         }
+        if (mShouldRequestWriteStoragePermission) {
+            if (grantResults.length > 0 && grantResults[mIndexPermissionRequestWriteStorage] ==
+                    PackageManager.PERMISSION_GRANTED) {
+                mFlagHasWriteStoragePermission = true;
+            } else {
+                handlePermissionsFailure();
+            }
+        }
 
         if (mShouldRequestLocationPermission) {
             if (grantResults.length > 0 && grantResults[mIndexPermissionRequestLocation] ==
@@ -212,7 +236,8 @@
             }
         }
 
-        if (mFlagHasCameraPermission && mFlagHasMicrophonePermission && mFlagHasStoragePermission) {
+        if (mFlagHasCameraPermission && mFlagHasMicrophonePermission &&
+                mFlagHasStoragePermission && mFlagHasWriteStoragePermission) {
             handlePermissionsSuccess();
         }
     }