Browse Source

Improve app store screenshot designs
Separate app store screenshot text into bold heading and regular subline

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>

Jan-Christoph Borchardt 5 years ago
parent
commit
a2cf6bc408

+ 35 - 2
fastlane/Fastfile

@@ -1,6 +1,39 @@
 # This is the minimum version number required.
 fastlane_version "2.58.0"
 
-lane :screenshots do
-  screengrab
+lane :screenshotsPhone do
+    build_for_screengrab()
+
+    screengrab(
+        device_type: "phone",
+        app_apk_path: APK_LOCATION,
+        tests_apk_path: TEST_APK_LOCATION
+    )
+end
+
+lane :screenshotsTablet do
+    build_for_screengrab()
+
+    screengrab(
+    device_type: "sevenInch",
+    app_apk_path: APK_LOCATION,
+    tests_apk_path: TEST_APK_LOCATION
+    )
+end
+
+desc "Build debug and test APK for screenshots"
+private_lane :build_for_screengrab do
+    build_android_app(
+      task: 'assemble',
+      flavor: 'Generic',
+      build_type: 'Debug'
+    )
+    APK_LOCATION = lane_context[SharedValues::GRADLE_ALL_APK_OUTPUT_PATHS].select{ |i| i[/00/] }[0]
+
+    build_android_app(
+      task: 'assemble',
+      flavor: 'Generic',
+      build_type: 'DebugAndroidTest'
+    )
+    TEST_APK_LOCATION = lane_context[SharedValues::GRADLE_ALL_APK_OUTPUT_PATHS].select{ |i| i[/androidTest/] }[0]
 end

+ 3 - 6
fastlane/Screengrabfile

@@ -1,12 +1,9 @@
 app_package_name 'com.nextcloud.client'
 use_tests_in_packages ['com.owncloud.android.screenshots']
+test_instrumentation_runner 'androidx.test.runner.AndroidJUnitRunner'
 
-app_apk_path 'build/outputs/apk/generic/debug/android4-generic-debug.apk'
-tests_apk_path 'build/outputs/apk/androidTest/generic/debug/android4-generic-debug-androidTest.apk'
-
-# locales ['en-US']
-# locales ['pt-PT', 'sv-SE', 'sq-AL', 'sq-MK', 'iw-IL', 'ar-AR', 'bg-BG', 'da-DK', 'fi-FI', 'gl-ES', 'uk-UK', 'vi-VI', 'ro-RO', 'pl-PL', 'el-GR', ja-JP', 'eu-ES', 'lt-LT', 'es-419', 'zh-HK', 'zk-CN', 'is-IS', 'sr-SR', 'id-ID', 'cs-CZ', 'sl-SL', 'fa-FA' ]
-locales ['en-GB', 'de-DE', 'es-MX', 'es-ES', 'fr-FR', 'hu-HU', 'it-IT', 'ka-GE', 'ko-KR', 'no-NO', 'nl-NL', 'pt-BR', 'ru-RU', 'sr-SR', 'tr-TR', 'en-US']
+locales(['en-US'])
+# locales(['en-GB', 'de-DE', 'es-MX', 'es-ES', 'fr-FR', 'hu-HU', 'it-IT', 'ka-GE', 'ko-KR', 'no-NO', 'nl-NL', 'pt-BR', 'ru-RU', 'sr-SR', 'tr-TR', 'en-US', 'pt-PT', 'sv-SE', 'sq-AL', 'sq-MK', 'iw-IL', 'ar-AR', 'bg-BG', 'da-DK', 'fi-FI', 'gl-ES', 'uk-UK', 'vi-VI', 'ro-RO', 'pl-PL', 'el-GR', 'ja-JP', 'eu-ES', 'lt-LT', 'es-419', 'zh-HK', 'zk-CN', 'is-IS', 'sr-SR', 'id-ID', 'cs-CZ', 'sl-SL'])
 
 # clear all previously generated screenshots in your local output directory before creating new ones
 clear_previous_screenshots true

+ 52 - 13
scripts/screenshots/addMockDevice.sh

@@ -1,18 +1,21 @@
 #!/bin/bash
 
 cd scripts/screenshots/
-for i in $(find ../../fastlane | grep png | grep Screenshots) ; do 
+for i in $(find ../../fastlane | grep png | grep Screenshots) ; do
     device=$(echo $i | cut -d"/" -f8 | sed s'#Screenshots##')
     textID=$(echo $i | cut -d"/" -f9 | cut -d"_" -f1,2)
     locale=$(echo $i | cut -d"/" -f6)
-    
+
     # handle some locales different
     case $locale in
         "en-US")
             locale=""
             ;;
+        "en-GB")
+            locale="-b+en+001"
+            ;;
         "de-DE")
-            locale="-de-rDE"
+            locale="-de"
             ;;
         "es-MX")
             locale="-es-rMX"
@@ -29,27 +32,63 @@ for i in $(find ../../fastlane | grep png | grep Screenshots) ; do
         "pt-BR")
             locale="-pt-rBR"
             ;;
+        "pt-PT")
+            locale="-pt-rPT"
+            ;;
+        "bg-BG")
+            locale="-bg-rBG"
+            ;;
+        "fi-FI")
+            locale="-fi-rFI"
+            ;;
+        "uk-UK")
+            locale=""
+            ;;
+        "ja-JP")
+            locale="-ja-rJP"
+            ;;
+        "lt-LT")
+            locale="-lt-rLT"
+            ;;
+        "zh-HK")
+            locale="-zh-rCN"
+            ;;
+        "zk-CN")
+            locale="-zh-rCN"
+            ;;
+        "id-ID")
+            locale="-in"
+            ;;
+        "cs-CZ")
+            locale="-cs-rCZ"
+            ;;
         *)
             locale="-"$(echo $locale | cut -d"-" -f1)
     esac
-    
+
     if [ -e ../../src/main/res/values$locale/strings.xml ] ; then
-        text=$(grep $textID ../../src/main/res/values$locale/strings.xml | cut -d">" -f2 | cut -d"<" -f1 | sed s'#\&amp;#\\&#')
+        heading=$(grep $textID"_heading" ../../src/main/res/values$locale/strings.xml | cut -d">" -f2 | cut -d"<" -f1 | sed s'#\&amp;#\\&#')
+        subline=$(grep $textID"_subline" ../../src/main/res/values$locale/strings.xml | cut -d">" -f2 | cut -d"<" -f1 | sed s'#\&amp;#\\&#')
     else
-        text=""
+        heading=""
+        subline=""
     fi
-    
+
     # fallback to english if there is not translation
-    if [ -z "$text" ]; then
-        text=$(grep $textID ../../src/main/res/values/strings.xml | cut -d">" -f2 | cut -d"<" -f1 | sed s'#\&amp;#\\&#')
+    if [ -z "$heading" ]; then
+        heading=$(grep $textID"_heading" ../../src/main/res/values/strings.xml | cut -d">" -f2 | cut -d"<" -f1 | sed s'#\&amp;#\\&#')
     fi
-    
 
-    sed "s#{image}#$i#;s#{text}#$text#g" $device.svg > temp.svg
-    
+    if [ -z "$subline" ]; then
+        subline=$(grep $textID"_subline" ../../src/main/res/values/strings.xml | cut -d">" -f2 | cut -d"<" -f1 | sed s'#\&amp;#\\&#')
+    fi
+
+
+    sed "s#{image}#$i#;s#{heading}#$heading#;s#{subline}#$subline#g" $device.svg > temp.svg
+
     if [ $textID == "06_davdroid" ] ; then
         sed "s#display:none#display:visible#" -i temp.svg
     fi
-    
+
     inkscape temp.svg -h 576 -e $i 2>/dev/null
 done

BIN
scripts/screenshots/phone.png


+ 112 - 147
scripts/screenshots/phone.svg

@@ -1,176 +1,125 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!-- Created with Inkscape (http://www.inkscape.org/) -->
 
-<svg
-    xmlns:dc="http://purl.org/dc/elements/1.1/"
-    xmlns:cc="http://creativecommons.org/ns#"
-    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-    xmlns="http://www.w3.org/2000/svg"
-    xmlns:xlink="http://www.w3.org/1999/xlink"
-    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-    width="483.30557mm"
-    height="800mm"
-    viewBox="0 0 483.30556 800.00003"
-    version="1.1"
-    id="svg4553"
-    inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="483.30557mm" height="800mm"
+    viewBox="0 0 483.30556 800.00003" version="1.1" id="svg4553" inkscape:version="0.92.4 5da689c313, 2019-01-14"
     sodipodi:docname="phone.svg">
   <defs
-      id="defs4547">
+     id="defs4547">
     <linearGradient
-        inkscape:collect="always"
-        id="linearGradient832">
+       inkscape:collect="always"
+       id="linearGradient832">
       <stop
-          style="stop-color:#000000;stop-opacity:1;"
-          offset="0"
-          id="stop828"/>
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop828" />
       <stop
-          style="stop-color:#000000;stop-opacity:0;"
-          offset="1"
-          id="stop830"/>
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop830" />
     </linearGradient>
     <radialGradient
-        inkscape:collect="always"
-        xlink:href="#linearGradient832"
-        id="radialGradient836"
-        cx="2564.2764"
-        cy="7303.2788"
-        fx="2564.2764"
-        fy="7303.2788"
-        r="115.44445"
-        gradientTransform="matrix(1,0,0,0.37896268,0,4535.6086)"
-        gradientUnits="userSpaceOnUse"/>
+       inkscape:collect="always"
+       xlink:href="#linearGradient832"
+       id="radialGradient836"
+       cx="2564.2764"
+       cy="7303.2788"
+       fx="2564.2764"
+       fy="7303.2788"
+       r="115.44445"
+       gradientTransform="matrix(1,0,0,0.37896268,0,4535.6086)"
+       gradientUnits="userSpaceOnUse" />
     <filter
-        inkscape:collect="always"
-        style="color-interpolation-filters:sRGB"
-        id="filter888"
-        x="-0.016423529"
-        width="1.0328471"
-        y="-0.044553191"
-        height="1.0891064">
+       style="color-interpolation-filters:sRGB;"
+       inkscape:label="Blur"
+       id="filter1432">
       <feGaussianBlur
-          inkscape:collect="always"
-          stdDeviation="1.5541406"
-          id="feGaussianBlur890"/>
+         stdDeviation="10 10"
+         result="blur"
+         id="feGaussianBlur1430" />
     </filter>
   </defs>
   <sodipodi:namedview
-      id="base"
-      pagecolor="#0082c9"
-      bordercolor="#666666"
-      borderopacity="1.0"
-      inkscape:pageopacity="1"
-      inkscape:pageshadow="2"
-      inkscape:zoom="0.45254834"
-      inkscape:cx="1294.7194"
-      inkscape:cy="2449.9551"
-      inkscape:document-units="mm"
-      inkscape:current-layer="layer1"
-      showgrid="false"
-      fit-margin-top="80"
-      fit-margin-left="0"
-      fit-margin-right="0"
-      fit-margin-bottom="0"
-      inkscape:window-width="1600"
-      inkscape:window-height="871"
-      inkscape:window-x="1600"
-      inkscape:window-y="0"
-      inkscape:window-maximized="1"
-      inkscape:measure-start="0,0"
-      inkscape:measure-end="0,0"
-      showguides="true"
-      inkscape:guide-bbox="true">
-      <sodipodi:guide
-          position="479.4147,654.22571"
-          orientation="1,0"
-          id="guide838"
-          inkscape:locked="false"/>
-      <sodipodi:guide
-          position="439.29295,649.98698"
-          orientation="0,1"
-          id="guide840"
-          inkscape:locked="false"/>
-  </sodipodi:namedview>
+     id="base"
+     pagecolor="#0082c9"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2" inkscape:zoom="0.22627417" inkscape:cx="-541.25585" inkscape:cy="1016.1787"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     fit-margin-top="80"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0" inkscape:window-width="1600" inkscape:window-height="835"
+     inkscape:window-x="0" inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:measure-start="0,0"
+     inkscape:measure-end="0,0"
+     showguides="true"
+     inkscape:guide-bbox="true" />
   <metadata
-      id="metadata4550">
+     id="metadata4550">
     <rdf:RDF>
       <cc:Work
-          rdf:about="">
+         rdf:about="">
         <dc:format>image/svg+xml</dc:format>
         <dc:type
-            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
-          <dc:title/>
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
       </cc:Work>
     </rdf:RDF>
   </metadata>
   <g
-      inkscape:label="Ebene 1"
-      inkscape:groupmode="layer"
-      id="layer1"
-      transform="translate(-454.12732,1199.2512)">
-    <image
-        sodipodi:absref="/home/tobi/Daten/projekt/nextcloud/android4/scripts/screenshots/{image}"
-        xlink:href="{image}"
-        y="-928.13586"
-        x="502.9848"
-        id="image4495"
-        preserveAspectRatio="none"
-        height="679.41968"
-        width="382.17361"/>
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-454.12732,1199.2512)">
+    <rect
+       ry="26.458334"
+       rx="26.458334"
+       y="-1027.2244"
+       x="481.59952"
+       height="761.53064"
+       width="428.36118"
+       id="rect1400"
+       style="opacity:1;fill:#323232;fill-opacity:0.39215687;stroke:none;stroke-width:2.9104166;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:9.99999905;stroke-opacity:1;paint-order:markers fill stroke;filter:url(#filter1432)" />
     <rect
-        style="color:#000000;display:none;overflow:visible;visibility:visible;opacity:0.75;vector-effect:none;fill:#808080;fill-opacity:1;stroke:none;stroke-width:843.95349121;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
-        id="rect4493-5"
-        width="382.17361"
-        height="458.69916"
-        x="502.9848"
-        y="-751.86719"/>
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.9104166;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:9.99999905;stroke-opacity:1;paint-order:markers fill stroke"
+       id="rect1446"
+       width="428.36118"
+       height="761.53064"
+       x="481.59952"
+       y="-1027.2244"
+       rx="26.458334"
+       ry="26.458334" />
     <image
-        sodipodi:absref="/home/tobi/Daten/projekt/nextcloud/android4/scripts/screenshots/phone.png"
-        xlink:href="phone.png"
-        y="-1028.6078"
-        x="454.12732"
-        id="image10"
-        preserveAspectRatio="none"
-        height="893.9389"
-        width="483.30557"/>
+       xlink:href="{image}" width="382.17361" height="679.41968"
+       preserveAspectRatio="none" id="image4495" x="504.6933" y="-1005.3946" />
+    <rect
+        style="color:#000000;display:none;overflow:visible;visibility:visible;opacity:0.8;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:844.534729;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
+       id="rect4493-5" width="390.44183" height="449.6041"
+       x="502.9848" y="-820.65912" />
     <flowRoot
-       transform="matrix(0.26458333,0,0,0.26458333,17.310326,-3068.1486)"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:96px;line-height:125%;font-family:Helvetica;-inkscape-font-specification:Helvetica;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;opacity:0.5;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter888)"
-       id="flowRoot846"
-       xml:space="preserve"><flowRegion
-         style="text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         id="flowRegion840"><rect
-           style="text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-           y="7249.5762"
-           x="1669.7537"
-           height="380.95132"
-           width="1793.1692"
-           id="rect838" /></flowRegion><flowPara
-         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Light';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         id="flowPara842">{text}</flowPara><flowPara
-         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Light';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         id="flowPara844" /><flowPara
-         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Light';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         id="flowPara838" /></flowRoot>    <flowRoot
        xml:space="preserve"
        id="flowRoot5145"
        style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:96px;line-height:125%;font-family:Helvetica;-inkscape-font-specification:Helvetica;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       transform="matrix(0.26458333,0,0,0.26458333,17.310326,-3068.6775)"><flowRegion
+       transform="matrix(0.26458333,0,0,0.26458333,17.310326,-3058.0938)"><flowRegion
          id="flowRegion5147"
          style="text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><rect
            id="rect5149"
-           width="1808.9802"
-           height="486.15143"
+           width="1824.2622"
+           height="142.40137"
            x="1654.2856"
            y="7244.0518"
            style="text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></flowRegion><flowPara
-         id="flowPara5151"
-         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Light';text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">{text}</flowPara><flowPara
-         id="flowPara5153"
-         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Light';text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><flowPara
-         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Light';text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         id="flowPara836" /></flowRoot>    <flowRoot
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:118.66667175px;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Bold';text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+        id="flowPara836">{heading}</flowPara></flowRoot>
+      <flowRoot
        xml:space="preserve"
        id="flowRoot5174"
        style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20px;line-height:125%;font-family:Helvetica;-inkscape-font-specification:Helvetica;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
@@ -179,14 +128,30 @@
            width="5.7142859"
            height="57.142857"
            x="177.14285"
-           y="480.14975" /></flowRegion><flowPara
-         id="flowPara5180" /></flowRoot>
-      <rect
-          style="color:#000000;display:none;overflow:visible;visibility:visible;opacity:0.75;vector-effect:none;fill:#808080;fill-opacity:1;stroke:none;stroke-width:356.38705444;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
-          id="rect4493"
-          width="382.17358"
-          height="81.796532"
-          x="502.9848"
-          y="-928.13586"/>
-  </g>
+           y="480.14975" /></flowRegion><flowPara id="flowPara5180" /></flowRoot>
+      <flowRoot
+       transform="matrix(0.26458333,0,0,0.26458333,17.310326,-3021.0519)"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:96px;line-height:125%;font-family:Helvetica;-inkscape-font-specification:Helvetica;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="flowRoot845"
+       xml:space="preserve"><flowRegion
+         style="text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="flowRegion837"><rect
+           style="text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           y="7244.0518"
+           x="1654.2856"
+           height="151.77637"
+           width="1824.2622"
+           id="rect835" /></flowRegion><flowPara
+         id="flowPara843"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80px;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">{subline}</flowPara></flowRoot>    <flowRoot
+       xml:space="preserve"
+       id="flowRoot856"
+       style="fill:black;fill-opacity:1;stroke:none;font-family:'Open Sans';font-style:normal;font-weight:normal;font-size:13.33333333px;line-height:1;letter-spacing:0px;word-spacing:0px;-inkscape-font-specification:'Open Sans';font-stretch:normal;font-variant:normal"><flowRegion
+         id="flowRegion858"><rect
+           id="rect860"
+           width="178.66393"
+           height="28.125"
+           x="1811.9611"
+           y="92.372047" /></flowRegion><flowPara
+         id="flowPara862" /></flowRoot>  </g>
 </svg>

+ 135 - 184
scripts/screenshots/sevenInch.svg

@@ -1,194 +1,145 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!-- Created with Inkscape (http://www.inkscape.org/) -->
 
-<svg
-    xmlns:dc="http://purl.org/dc/elements/1.1/"
-    xmlns:cc="http://creativecommons.org/ns#"
-    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-    xmlns="http://www.w3.org/2000/svg"
-    xmlns:xlink="http://www.w3.org/1999/xlink"
-    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-    width="939.90002mm"
-    height="519mm"
-    viewBox="0 0 939.9 519.00002"
-    version="1.1"
-    id="svg4553"
-    inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="850mm" height="519mm"
+    viewBox="0 0 849.99998 519.00002" version="1.1" id="svg4553" inkscape:version="0.92.4 5da689c313, 2019-01-14"
     sodipodi:docname="sevenInch.svg">
-    <defs
-        id="defs4547">
-        <linearGradient
-            inkscape:collect="always"
-            id="linearGradient832">
-            <stop
-                style="stop-color:#000000;stop-opacity:1;"
-                offset="0"
-                id="stop828"/>
-            <stop
-                style="stop-color:#000000;stop-opacity:0;"
-                offset="1"
-                id="stop830"/>
-        </linearGradient>
-        <radialGradient
-            inkscape:collect="always"
-            xlink:href="#linearGradient832"
-            id="radialGradient836"
-            cx="2564.2764"
-            cy="7303.2788"
-            fx="2564.2764"
-            fy="7303.2788"
-            r="115.44445"
-            gradientTransform="matrix(1,0,0,0.37896268,0,4535.6086)"
-            gradientUnits="userSpaceOnUse"/>
-        <filter
-            inkscape:collect="always"
-            style="color-interpolation-filters:sRGB"
-            id="filter888"
-            x="-0.016423529"
-            width="1.032847"
-            y="-0.04455319"
-            height="1.0891064">
-            <feGaussianBlur
-                inkscape:collect="always"
-                stdDeviation="1.5541406"
-                id="feGaussianBlur890"/>
-        </filter>
-    </defs>
-    <sodipodi:namedview
-        id="base"
-        pagecolor="#0082c9"
-        bordercolor="#666666"
-        borderopacity="1.0"
-        inkscape:pageopacity="1"
-        inkscape:pageshadow="2"
-        inkscape:zoom="0.45254836"
-        inkscape:cx="1796.9275"
-        inkscape:cy="1936.0988"
-        inkscape:document-units="mm"
-        inkscape:current-layer="layer1"
-        showgrid="false"
-        fit-margin-top="80"
-        fit-margin-left="0"
-        fit-margin-right="0"
-        fit-margin-bottom="0"
-        inkscape:window-width="1600"
-        inkscape:window-height="835"
-        inkscape:window-x="0"
-        inkscape:window-y="0"
-        inkscape:window-maximized="1"
-        inkscape:measure-start="0,0"
-        inkscape:measure-end="0,0"
-        showguides="true"
-        inkscape:guide-bbox="true">
-        <sodipodi:guide
-            position="131.46484,422.5065"
-            orientation="1,0"
-            id="guide838"
-            inkscape:locked="false"/>
-        <sodipodi:guide
-            position="806.15231,377.03124"
-            orientation="1,0"
-            id="guide840"
-            inkscape:locked="false"/>
-        <sodipodi:guide
-            position="259.62239,482.86457"
-            orientation="0,1"
-            id="guide842"
-            inkscape:locked="false"/>
-    </sodipodi:namedview>
-    <metadata
-        id="metadata4550">
-        <rdf:RDF>
-            <cc:Work
-                rdf:about="">
-                <dc:format>image/svg+xml</dc:format>
-                <dc:type
-                    rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
-                <dc:title/>
-            </cc:Work>
-        </rdf:RDF>
-    </metadata>
-    <g
-        inkscape:label="Ebene 1"
-        inkscape:groupmode="layer"
-        id="layer1"
-        transform="translate(-205.9464,1011.8911)">
-        <image
-            sodipodi:absref="/home/tobi/Daten/projekt/nextcloud/android4/scripts/screenshots/{image}"
-            xlink:href="{image}"
-            y="-829.59448"
-            x="335.71039"
-            id="image4525"
-            preserveAspectRatio="none"
-            height="425.23251"
-            width="680.37207"/>
-        <flowRoot
-       transform="matrix(0.26458333,0,0,0.26458333,-0.98086763,-2877.1179)"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:96px;line-height:125%;font-family:Helvetica;-inkscape-font-specification:Helvetica;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;opacity:0.5;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter888)"
-       id="flowRoot846"
-       xml:space="preserve"><flowRegion
-         style="text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         id="flowRegion840"><rect
-           style="text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-           y="7190.2515"
-           x="1284.9623"
-           height="298.2995"
-           width="2544"
-           id="rect838" /></flowRegion><flowPara
-         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Light';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         id="flowPara842">{text}</flowPara><flowPara
-         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Light';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         id="flowPara844" /></flowRoot>    <flowRoot
-       xml:space="preserve"
-       id="flowRoot5145"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:96px;line-height:125%;font-family:Helvetica;-inkscape-font-specification:Helvetica;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       transform="matrix(0.26458333,0,0,0.26458333,-2.5683681,-2878.1763)"><flowRegion
-         id="flowRegion5147"
-         style="text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><rect
-           id="rect5149"
-           width="2550"
-           height="261.64096"
-           x="1284.9623"
-           y="7191.5547"
-           style="text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-           ry="0" /></flowRegion><flowPara
-         id="flowPara5153"
-         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Light';text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">{text}</flowPara><flowPara
-         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Light';text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         id="flowPara849" /></flowRoot>    <flowRoot
-       xml:space="preserve"
-       id="flowRoot5174"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20px;line-height:125%;font-family:Helvetica;-inkscape-font-specification:Helvetica;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
+  <defs
+     id="defs4547">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient832">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop828" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop830" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient832"
+       id="radialGradient836"
+       cx="2564.2764"
+       cy="7303.2788"
+       fx="2564.2764"
+       fy="7303.2788"
+       r="115.44445"
+       gradientTransform="matrix(1,0,0,0.37896268,0,4535.6086)"
+       gradientUnits="userSpaceOnUse" />
+    <filter style="color-interpolation-filters:sRGB"
+       inkscape:label="Blur"
+       id="filter1438">
+      <feGaussianBlur
+         stdDeviation="10 10"
+         result="blur"
+         id="feGaussianBlur1436" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#0082c9"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.32000001" inkscape:cx="850.68372" inkscape:cy="683.7239"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     fit-margin-top="80"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0" inkscape:window-width="1600" inkscape:window-height="835"
+     inkscape:window-x="0" inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:measure-start="0,0"
+     inkscape:measure-end="0,0"
+     showguides="true" inkscape:guide-bbox="true" />
+  <metadata
+     id="metadata4550">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-205.9464,1011.8911)">
+      <flowRoot xml:space="preserve" id="flowRoot5174"
+          style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20px;line-height:125%;font-family:Helvetica;-inkscape-font-specification:Helvetica;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
          id="flowRegion5176"><rect
            id="rect5178"
            width="5.7142859"
            height="57.142857"
            x="177.14285"
-           y="480.14975" /></flowRegion><flowPara
-         id="flowPara5180" /></flowRoot>
-        <image
-            sodipodi:absref="/home/tobi/Daten/projekt/nextcloud/android4/scripts/screenshots/tablet.png"
-            xlink:href="tablet.png"
-            width="977.90002"
-            height="521.75836"
-            preserveAspectRatio="none"
-            id="image4514"
-            x="186.9464"
-            y="-871.77393"/>
-        <rect
-            style="color:#000000;display:none;overflow:visible;visibility:visible;opacity:0.75;vector-effect:none;fill:#808080;fill-opacity:1;stroke:none;stroke-width:490.07928467;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
-            id="rect4493-2"
-            width="677.90411"
-            height="87.199898"
-            x="335.71039"
-            y="-829.59448"/>
-        <rect
-            style="color:#000000;display:none;overflow:visible;visibility:visible;opacity:0.75;vector-effect:none;fill:#808080;fill-opacity:1;stroke:none;stroke-width:794.79553223;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
-            id="rect4493-2-0"
-            width="677.90411"
-            height="229.34755"
-            x="335.71039"
-            y="-667.80133"/>
-    </g>
+           y="480.14975" /></flowRegion>
+          <flowPara id="flowPara5180" /></flowRoot>
+      <rect transform="matrix(0,1.0167232,-0.87178462,0,51.23532,10.618408)"
+       ry="28.895885"
+       rx="28.895885"
+       y="-1091.7408"
+       x="-868.86401"
+       height="831.68884"
+       width="467.82523"
+       id="rect1434"
+          style="opacity:1;fill:#323232;fill-opacity:0.39215686;stroke:none;stroke-width:2.91041636;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:9.99999905;stroke-opacity:1;paint-order:markers fill stroke;filter:url(#filter1438)" />
+    <rect
+        style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.65647054;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:9.99999905;stroke-opacity:1;paint-order:markers fill stroke"
+       id="rect1446"
+       width="467.82523" height="692.88409"
+       x="-868.86401" y="-977.38843"
+       rx="28.895885" ry="24.073307"
+       transform="rotate(90)" />
+    <image sodipodi:absref="/home/tobi/projekt/nextcloud/android/scripts/screenshots/{image}"
+       xlink:href="{image}" y="-838.15137" x="360.16275"
+       id="image4525"
+       preserveAspectRatio="none" height="406.39999" width="541.86664" />
+      <rect
+          style="color:#000000;display:none;overflow:visible;visibility:visible;opacity:0.8;vector-effect:none;fill:#fff3f3;fill-opacity:1;stroke:none;stroke-width:377.62271118;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
+       id="rect4493-2" width="541.86658" height="64.770226" x="360.16275" y="-838.15137" />
+    <rect
+        style="color:#000000;display:none;overflow:visible;visibility:visible;opacity:0.8;vector-effect:none;fill:#fffefe;fill-opacity:1;stroke:none;stroke-width:758.42236328;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
+       id="rect4493-2-0" width="542.58588" height="260.91876" x="360.16275" y="-718.66608" />
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot5145-3"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:96px;line-height:125%;font-family:Helvetica;-inkscape-font-specification:Helvetica;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+        transform="matrix(0.26458333,0,0,0.26458333,-144.41453,-2883.2878)"><flowRegion
+         id="flowRegion5147-6"
+         style="text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><rect
+           id="rect5149-7"
+           width="2550"
+           height="151.93109"
+           x="1655.498"
+           y="7245.5703"
+           style="text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></flowRegion><flowPara
+        style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:118.66667175px;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Bold';text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="flowPara836">{heading}</flowPara></flowRoot>    <flowRoot
+      transform="matrix(0.26458333,0,0,0.26458333,-144.41453,-2845.1875)"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:96px;line-height:125%;font-family:Helvetica;-inkscape-font-specification:Helvetica;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.77952766;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="flowRoot845"
+       xml:space="preserve"><flowRegion
+         style="text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="flowRegion837"><rect
+           style="text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           y="7242.4893"
+           x="1655.498"
+           height="159.96777"
+           width="2550"
+           id="rect835" /></flowRegion><flowPara
+         id="flowPara843"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80px;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:center;text-anchor:middle;fill:#ffffff;stroke:none;stroke-width:3.77952766;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">{subline}</flowPara></flowRoot>  </g>
 </svg>

BIN
scripts/screenshots/tablet.png


+ 37 - 23
src/androidTest/disabledTests/screenshots/ScreenshotsIT.java → src/androidTest/java/com/owncloud/android/ScreenshotsIT.java

@@ -1,10 +1,12 @@
-package com.owncloud.android.screenshots;
+package com.owncloud.android;
 
-import android.content.Intent;
+import android.Manifest;
 
-import com.owncloud.android.R;
+import com.owncloud.android.lib.common.operations.RemoteOperationResult;
+import com.owncloud.android.operations.CreateFolderOperation;
+import com.owncloud.android.operations.common.SyncOperation;
 import com.owncloud.android.ui.activity.FileDisplayActivity;
-import com.owncloud.android.ui.activity.Preferences;
+import com.owncloud.android.ui.activity.SettingsActivity;
 
 import junit.framework.Assert;
 
@@ -15,11 +17,14 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 
+import androidx.test.core.app.ActivityScenario;
 import androidx.test.espresso.Espresso;
 import androidx.test.espresso.action.ViewActions;
 import androidx.test.espresso.contrib.DrawerActions;
+import androidx.test.espresso.contrib.RecyclerViewActions;
 import androidx.test.espresso.matcher.PreferenceMatchers;
-import androidx.test.rule.ActivityTestRule;
+import androidx.test.filters.LargeTest;
+import androidx.test.rule.GrantPermissionRule;
 import tools.fastlane.screengrab.Screengrab;
 import tools.fastlane.screengrab.UiAutomatorScreenshotStrategy;
 import tools.fastlane.screengrab.locale.LocaleTestRule;
@@ -29,28 +34,27 @@ import static androidx.test.espresso.Espresso.onView;
 import static androidx.test.espresso.action.ViewActions.click;
 import static androidx.test.espresso.matcher.ViewMatchers.withId;
 import static androidx.test.espresso.matcher.ViewMatchers.withText;
-import static org.hamcrest.Matchers.anything;
 import static org.hamcrest.core.AnyOf.anyOf;
+import static org.junit.Assert.assertTrue;
 
+@LargeTest
 @RunWith(JUnit4.class)
-public class ScreenshotsIT {
+public class ScreenshotsIT extends AbstractIT {
     @ClassRule
     public static final LocaleTestRule localeTestRule = new LocaleTestRule();
 
     @Rule
-    public ActivityTestRule<FileDisplayActivity> fileDisplayRule = new ActivityTestRule<>(FileDisplayActivity.class);
-
-    @Rule
-    public ActivityTestRule<Preferences> preferencesRule = new ActivityTestRule<>(Preferences.class, true, false);
+    public final GrantPermissionRule permissionRule = GrantPermissionRule.grant(
+        Manifest.permission.WRITE_EXTERNAL_STORAGE);
 
     @BeforeClass
-    public static void beforeAll() {
+    public static void beforeScreenshot() {
         Screengrab.setDefaultScreenshotStrategy(new UiAutomatorScreenshotStrategy());
     }
 
     @Test
     public void gridViewScreenshot() throws InterruptedException {
-        fileDisplayRule.launchActivity(new Intent());
+        ActivityScenario.launch(FileDisplayActivity.class);
 
         Espresso.openContextualActionModeOverflowMenu();
         onView(anyOf(withText(R.string.action_switch_grid_view), withId(R.id.action_switch_view))).perform(click());
@@ -66,11 +70,21 @@ public class ScreenshotsIT {
     }
 
     @Test
-    public void listViewScreenshot() throws InterruptedException {
-        fileDisplayRule.launchActivity(new Intent());
+    public void listViewScreenshot() {
+        String path = "/Camera/";
+
+        // folder does not exist yet
+        if (getStorageManager().getFileByPath(path) == null) {
+            SyncOperation syncOp = new CreateFolderOperation(path, true);
+            RemoteOperationResult result = syncOp.execute(client, getStorageManager());
+
+            assertTrue(result.isSuccess());
+        }
+
+        ActivityScenario.launch(FileDisplayActivity.class);
 
         // go into work folder
-        onData(anything()).inAdapterView(withId(R.id.list_root)).atPosition(0).perform(click());
+        onView(withId(R.id.list_root)).perform(RecyclerViewActions.actionOnItemAtPosition(0, click()));
 
         Screengrab.screenshot("02_listView");
 
@@ -78,8 +92,8 @@ public class ScreenshotsIT {
     }
 
     @Test
-    public void drawerScreenshot() throws InterruptedException {
-        fileDisplayRule.launchActivity(new Intent());
+    public void drawerScreenshot() {
+        ActivityScenario.launch(FileDisplayActivity.class);
 
         onView(withId(R.id.drawer_layout)).perform(DrawerActions.open());
 
@@ -91,8 +105,8 @@ public class ScreenshotsIT {
     }
 
     @Test
-    public void multipleAccountsScreenshot() throws InterruptedException {
-        fileDisplayRule.launchActivity(new Intent());
+    public void multipleAccountsScreenshot() {
+        ActivityScenario.launch(FileDisplayActivity.class);
 
         onView(withId(R.id.drawer_layout)).perform(DrawerActions.open());
         onView(withId(R.id.drawer_active_user)).perform(click());
@@ -105,8 +119,8 @@ public class ScreenshotsIT {
     }
 
     @Test
-    public void autoUploadScreenshot() throws InterruptedException {
-        fileDisplayRule.launchActivity(new Intent());
+    public void autoUploadScreenshot() {
+        ActivityScenario.launch(FileDisplayActivity.class);
 
         onView(withId(R.id.drawer_layout)).perform(DrawerActions.open());
         onView(anyOf(withText(R.string.drawer_synced_folders), withId(R.id.nav_synced_folders))).perform(click());
@@ -118,7 +132,7 @@ public class ScreenshotsIT {
 
     @Test
     public void davdroidScreenshot() throws InterruptedException {
-        preferencesRule.launchActivity(new Intent());
+        ActivityScenario.launch(SettingsActivity.class);
 
         onData(PreferenceMatchers.withTitle(R.string.prefs_category_more)).perform(ViewActions.scrollTo());
 

+ 17 - 6
src/main/res/values/strings.xml

@@ -710,12 +710,23 @@
 
     <string name="account_not_found">Account not found!</string>
 
-    <string name="screenshot_01_gridView">A safe home for all your data</string>
-    <string name="screenshot_02_listView">Browse and share your files easily</string>
-    <string name="screenshot_03_drawer">Quickly access activity, shares, offline files and more</string>
-    <string name="screenshot_04_accounts">Connect to different accounts</string>
-    <string name="screenshot_05_autoUpload">Automatically upload your photos &amp; videos</string>
-    <string name="screenshot_06_davdroid">Sync calendar &amp; contacts with DAVx5 (formerly known as DAVdroid)</string>
+    <string name="screenshot_01_gridView_heading">Protecting your data</string>
+    <string name="screenshot_01_gridView_subline">self-hosted productivity platform</string>
+
+    <string name="screenshot_02_listView_heading">Browse and share</string>
+    <string name="screenshot_02_listView_subline">all actions at your fingertips</string>
+
+    <string name="screenshot_03_drawer_heading">Activity, shares, offline files</string>
+    <string name="screenshot_03_drawer_subline">everything quickly accessible</string>
+
+    <string name="screenshot_04_accounts_heading">All your accounts</string>
+    <string name="screenshot_04_accounts_subline">in one place</string>
+
+    <string name="screenshot_05_autoUpload_heading">Automatic upload</string>
+    <string name="screenshot_05_autoUpload_subline">for your photos &amp; videos</string>
+
+    <string name="screenshot_06_davdroid_heading">Sync calendar &amp; contacts</string>
+    <string name="screenshot_06_davdroid_subline">with DAVx5 (formerly DAVdroid)</string>
 
     <string name="userinfo_no_info_headline">No personal info set</string>
     <string name="userinfo_no_info_text">Add name, picture and contact details on your profile page.</string>