summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--res/drawable/drag_shadow_background.xml3
-rw-r--r--res/drawable/ic_drop_not_ok_badge.xml8
-rw-r--r--res/drawable/ic_drop_ok_badge.xml8
-rw-r--r--res/layout/directory_cluster.xml8
-rw-r--r--res/layout/drag_shadow_layout.xml42
-rw-r--r--res/layout/drop_badge.xml4
-rw-r--r--res/layout/fragment_directory.xml8
-rw-r--r--res/values-af/strings.xml6
-rw-r--r--res/values-am/strings.xml6
-rw-r--r--res/values-ar/strings.xml6
-rw-r--r--res/values-az-rAZ/strings.xml6
-rw-r--r--res/values-bg/strings.xml6
-rw-r--r--res/values-bn-rBD/strings.xml6
-rw-r--r--res/values-ca/strings.xml6
-rw-r--r--res/values-cs/strings.xml6
-rw-r--r--res/values-da/strings.xml6
-rw-r--r--res/values-de/strings.xml6
-rw-r--r--res/values-el/strings.xml6
-rw-r--r--res/values-en-rAU/strings.xml6
-rw-r--r--res/values-en-rGB/strings.xml6
-rw-r--r--res/values-en-rIN/strings.xml6
-rw-r--r--res/values-es-rUS/strings.xml6
-rw-r--r--res/values-es/strings.xml8
-rw-r--r--res/values-et-rEE/strings.xml6
-rw-r--r--res/values-eu-rES/strings.xml6
-rw-r--r--res/values-fa/strings.xml6
-rw-r--r--res/values-fi/strings.xml6
-rw-r--r--res/values-fr-rCA/strings.xml6
-rw-r--r--res/values-fr/strings.xml6
-rw-r--r--res/values-gl-rES/strings.xml6
-rw-r--r--res/values-gu-rIN/strings.xml6
-rw-r--r--res/values-hi/strings.xml6
-rw-r--r--res/values-hr/strings.xml6
-rw-r--r--res/values-hu/strings.xml6
-rw-r--r--res/values-hy-rAM/strings.xml6
-rw-r--r--res/values-in/strings.xml6
-rw-r--r--res/values-is-rIS/strings.xml6
-rw-r--r--res/values-it/strings.xml6
-rw-r--r--res/values-iw/strings.xml6
-rw-r--r--res/values-ja/strings.xml6
-rw-r--r--res/values-ka-rGE/strings.xml6
-rw-r--r--res/values-kk-rKZ/strings.xml6
-rw-r--r--res/values-km-rKH/strings.xml6
-rw-r--r--res/values-kn-rIN/strings.xml6
-rw-r--r--res/values-ko/strings.xml6
-rw-r--r--res/values-ky-rKG/strings.xml6
-rw-r--r--res/values-lo-rLA/strings.xml6
-rw-r--r--res/values-lt/strings.xml6
-rw-r--r--res/values-lv/strings.xml6
-rw-r--r--res/values-mk-rMK/strings.xml6
-rw-r--r--res/values-ml-rIN/strings.xml6
-rw-r--r--res/values-mn-rMN/strings.xml6
-rw-r--r--res/values-mr-rIN/strings.xml6
-rw-r--r--res/values-ms-rMY/strings.xml6
-rw-r--r--res/values-my-rMM/strings.xml6
-rw-r--r--res/values-nb/strings.xml6
-rw-r--r--res/values-ne-rNP/strings.xml6
-rw-r--r--res/values-nl/strings.xml6
-rw-r--r--res/values-pa-rIN/strings.xml6
-rw-r--r--res/values-pl/strings.xml6
-rw-r--r--res/values-pt-rBR/strings.xml6
-rw-r--r--res/values-pt-rPT/strings.xml6
-rw-r--r--res/values-pt/strings.xml6
-rw-r--r--res/values-ro/strings.xml6
-rw-r--r--res/values-ru/strings.xml6
-rw-r--r--res/values-si-rLK/strings.xml8
-rw-r--r--res/values-sk/strings.xml6
-rw-r--r--res/values-sl/strings.xml6
-rw-r--r--res/values-sq-rAL/strings.xml6
-rw-r--r--res/values-sr/strings.xml6
-rw-r--r--res/values-sv/strings.xml6
-rw-r--r--res/values-sw/strings.xml6
-rw-r--r--res/values-ta-rIN/strings.xml6
-rw-r--r--res/values-te-rIN/strings.xml6
-rw-r--r--res/values-th/strings.xml6
-rw-r--r--res/values-tl/strings.xml6
-rw-r--r--res/values-tr/strings.xml6
-rw-r--r--res/values-uk/strings.xml6
-rw-r--r--res/values-ur-rPK/strings.xml6
-rw-r--r--res/values-uz-rUZ/strings.xml6
-rw-r--r--res/values-vi/strings.xml6
-rw-r--r--res/values-zh-rCN/strings.xml6
-rw-r--r--res/values-zh-rHK/strings.xml6
-rw-r--r--res/values-zh-rTW/strings.xml6
-rw-r--r--res/values-zu/strings.xml6
-rw-r--r--res/values/dimens.xml10
-rw-r--r--src/com/android/documentsui/BaseActivity.java10
-rw-r--r--src/com/android/documentsui/DocumentsApplication.java1
-rw-r--r--src/com/android/documentsui/DragShadowBuilder.java29
-rw-r--r--src/com/android/documentsui/DropBadgeView.java3
-rw-r--r--src/com/android/documentsui/RefreshTask.java5
-rw-r--r--src/com/android/documentsui/archives/Archive.java116
-rw-r--r--src/com/android/documentsui/base/DocumentInfo.java5
-rw-r--r--src/com/android/documentsui/base/RootInfo.java6
-rw-r--r--src/com/android/documentsui/dirlist/DirectoryFragment.java2
-rw-r--r--src/com/android/documentsui/dirlist/Model.java10
-rw-r--r--src/com/android/documentsui/files/ActionHandler.java5
-rw-r--r--src/com/android/documentsui/picker/PickActivity.java4
-rw-r--r--src/com/android/documentsui/queries/DebugCommandProcessor.java30
-rw-r--r--src/com/android/documentsui/queries/SearchViewManager.java16
-rw-r--r--src/com/android/documentsui/roots/RootsCache.java63
-rw-r--r--tests/AndroidManifest.xml12
-rw-r--r--tests/common/com/android/documentsui/DemoProvider.java158
-rw-r--r--tests/common/com/android/documentsui/testing/TestSearchViewManager.java2
-rw-r--r--tests/unit/com/android/documentsui/queries/DebugCommandProcessorTest.java4
105 files changed, 599 insertions, 445 deletions
diff --git a/res/drawable/drag_shadow_background.xml b/res/drawable/drag_shadow_background.xml
index 5940bb375..58c0e1afd 100644
--- a/res/drawable/drag_shadow_background.xml
+++ b/res/drawable/drag_shadow_background.xml
@@ -17,9 +17,6 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/item_drag_shadow_background" />
- <stroke
- android:width="1dp"
- android:color="#ff9f9f9f" />
<corners
android:bottomRightRadius="2dp"
android:bottomLeftRadius="2dp"
diff --git a/res/drawable/ic_drop_not_ok_badge.xml b/res/drawable/ic_drop_not_ok_badge.xml
index 45c8b6dd7..402aff8f8 100644
--- a/res/drawable/ic_drop_not_ok_badge.xml
+++ b/res/drawable/ic_drop_not_ok_badge.xml
@@ -15,10 +15,10 @@ Copyright (C) 2016 The Android Open Source Project
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="15dp"
- android:height="15dp"
- android:viewportWidth="30.0"
- android:viewportHeight="30.0">
+ android:width="14dp"
+ android:height="14dp"
+ android:viewportWidth="28.0"
+ android:viewportHeight="28.0">
<group
android:name="whiteBg">
diff --git a/res/drawable/ic_drop_ok_badge.xml b/res/drawable/ic_drop_ok_badge.xml
index 48e3e838a..7f1be3151 100644
--- a/res/drawable/ic_drop_ok_badge.xml
+++ b/res/drawable/ic_drop_ok_badge.xml
@@ -14,10 +14,10 @@ Copyright (C) 2016 The Android Open Source Project
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="15dp"
- android:height="15dp"
- android:viewportWidth="30.0"
- android:viewportHeight="30.0">
+ android:width="14dp"
+ android:height="14dp"
+ android:viewportWidth="28.0"
+ android:viewportHeight="28.0">
<group
android:name="whiteBg">
diff --git a/res/layout/directory_cluster.xml b/res/layout/directory_cluster.xml
index 36236721d..f4a243d83 100644
--- a/res/layout/directory_cluster.xml
+++ b/res/layout/directory_cluster.xml
@@ -24,14 +24,6 @@
<!-- column headers are empty on small screens, in portrait or in grid mode. -->
<include layout="@layout/column_headers"/>
- <ProgressBar
- android:id="@+id/progressbar"
- android:layout_width="match_parent"
- android:layout_height="@dimen/progress_bar_height"
- android:indeterminate="true"
- style="@style/TrimmedHorizontalProgressBar"
- android:visibility="gone"/>
-
<FrameLayout
android:id="@+id/container_directory"
android:clipToPadding="false"
diff --git a/res/layout/drag_shadow_layout.xml b/res/layout/drag_shadow_layout.xml
index e94c443ae..0f0671820 100644
--- a/res/layout/drag_shadow_layout.xml
+++ b/res/layout/drag_shadow_layout.xml
@@ -14,25 +14,35 @@
limitations under the License.
-->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<!-- Transparent container so shadow layer can be drawn -->
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:paddingStart="8dp"
- android:paddingEnd="8dp"
- android:orientation="horizontal"
- android:gravity="center_vertical|left"
- android:background="@drawable/drag_shadow_background">
+ android:padding="8dp"
+ android:background="@*android:color/transparent">
- <include layout="@layout/drop_badge"/>
-
- <TextView
- android:id="@android:id/title"
+ <LinearLayout
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:maxLines="1"
- android:ellipsize="end"
- android:textAlignment="viewStart"
- android:textColor="@color/item_title"
- android:paddingStart="8dp"/>
+ android:layout_height="match_parent"
+ android:paddingStart="12dp"
+ android:paddingEnd="12dp"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:background="@drawable/drag_shadow_background">
+
+ <include layout="@layout/drop_badge"/>
+
+ <TextView
+ android:id="@android:id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:maxLines="1"
+ android:ellipsize="end"
+ android:textAlignment="viewStart"
+ android:textColor="@color/item_title"
+ android:paddingStart="6dp"
+ android:paddingBottom="1dp"/>
+ </LinearLayout>
</LinearLayout>
diff --git a/res/layout/drop_badge.xml b/res/layout/drop_badge.xml
index 485f400f2..e17fa1ce0 100644
--- a/res/layout/drop_badge.xml
+++ b/res/layout/drop_badge.xml
@@ -17,8 +17,8 @@
<com.android.documentsui.DropBadgeView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/icon"
- android:layout_width="@dimen/root_icon_size"
- android:layout_height="@dimen/root_icon_size"
+ android:layout_width="26dp"
+ android:layout_height="26dp"
android:scaleType="centerInside"
android:contentDescription="@null"
android:duplicateParentState="true"/> \ No newline at end of file
diff --git a/res/layout/fragment_directory.xml b/res/layout/fragment_directory.xml
index 4d608f13e..22bcbe3c3 100644
--- a/res/layout/fragment_directory.xml
+++ b/res/layout/fragment_directory.xml
@@ -23,6 +23,14 @@
android:elevation="4dp"
android:orientation="vertical">
+ <ProgressBar
+ android:id="@+id/progressbar"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/progress_bar_height"
+ android:indeterminate="true"
+ style="@style/TrimmedHorizontalProgressBar"
+ android:visibility="gone"/>
+
<FrameLayout
android:id="@+id/container_message_bar"
android:layout_width="match_parent"
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index cc34f9290..f03ff79f0 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Vee <xliff:g id="COUNT_1">%1$d</xliff:g> items uit?</item>
<item quantity="one">Vee <xliff:g id="COUNT_0">%1$d</xliff:g> item uit?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumente"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Aflaaie"</string>
</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index ee10d6fe0..cd0cdeb2f 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ንጥሎች ይሰረዙ?</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ንጥሎች ይሰረዙ?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"ሰነዶች"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"የወረዱ"</string>
</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 4ca1c48a0..355645005 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -192,8 +192,6 @@
<item quantity="other">هل تريد حذف <xliff:g id="COUNT_1">%1$d</xliff:g> عنصر؟</item>
<item quantity="one">هل تريد حذف <xliff:g id="COUNT_0">%1$d</xliff:g> عنصر؟</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"المستندات"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"التنزيلات"</string>
</resources>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
index f29ae6c57..14940956b 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az-rAZ/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> element silinsin?</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> element silinsin?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Sənədlər"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Endirilənlər"</string>
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index c7672aec7..322e860e9 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Искате ли да изтриете <xliff:g id="COUNT_1">%1$d</xliff:g> елемента?</item>
<item quantity="one">Искате ли да изтриете <xliff:g id="COUNT_0">%1$d</xliff:g> елемент?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Документи"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Изтегляния"</string>
</resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index 7c3743bc0..0b87ab5f4 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g>টি আইটেম মুছবেন?</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>টি আইটেম মুছবেন?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"দস্তাবেজগুলি"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"ডাউনলোডগুলি"</string>
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 338be81a8..71777480f 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Vols suprimir <xliff:g id="COUNT_1">%1$d</xliff:g> elements?</item>
<item quantity="one">Vols suprimir <xliff:g id="COUNT_0">%1$d</xliff:g> element?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documents"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Baixades"</string>
</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index b9838330d..37b0e6492 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -168,8 +168,6 @@
<item quantity="other">Smazat <xliff:g id="COUNT_1">%1$d</xliff:g> položek?</item>
<item quantity="one">Smazat <xliff:g id="COUNT_0">%1$d</xliff:g> položku?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumenty"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Stažené soubory"</string>
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 3d54e84c5..42ee82ea4 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one">Vil du slette <xliff:g id="COUNT_1">%1$d</xliff:g> element?</item>
<item quantity="other">Vil du slette <xliff:g id="COUNT_1">%1$d</xliff:g> elementer?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumenter"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Downloads"</string>
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 507a1b9c5..165a84689 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> Elemente löschen?</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> Element löschen?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumente"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Downloads"</string>
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index e097391fe..58cb8a947 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Να διαγραφούν <xliff:g id="COUNT_1">%1$d</xliff:g> στοιχεία;</item>
<item quantity="one">Να διαγραφεί <xliff:g id="COUNT_0">%1$d</xliff:g> στοιχείο;</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Έγγραφα"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Λήψεις"</string>
</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 48989095e..2b7275d42 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Delete <xliff:g id="COUNT_1">%1$d</xliff:g> items?</item>
<item quantity="one">Delete <xliff:g id="COUNT_0">%1$d</xliff:g> item?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documents"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Downloads"</string>
</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 48989095e..2b7275d42 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Delete <xliff:g id="COUNT_1">%1$d</xliff:g> items?</item>
<item quantity="one">Delete <xliff:g id="COUNT_0">%1$d</xliff:g> item?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documents"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Downloads"</string>
</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 48989095e..2b7275d42 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Delete <xliff:g id="COUNT_1">%1$d</xliff:g> items?</item>
<item quantity="one">Delete <xliff:g id="COUNT_0">%1$d</xliff:g> item?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documents"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Downloads"</string>
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index c56747877..8dc3af1f4 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">¿Deseas borrar <xliff:g id="COUNT_1">%1$d</xliff:g> elementos?</item>
<item quantity="one">¿Deseas borrar <xliff:g id="COUNT_0">%1$d</xliff:g> elemento?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documentos"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Descargas"</string>
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index e7c711e56..b8b840b48 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -112,7 +112,7 @@
<item quantity="other">Se han copiado <xliff:g id="COUNT_1">%1$d</xliff:g> archivos al portapapeles.</item>
<item quantity="one">Se ha copiado <xliff:g id="COUNT_0">%1$d</xliff:g> archivo al portapapeles.</item>
</plurals>
- <string name="file_operation_error" msgid="5016141190607538391">"No se puede hacer la operación en el archivo."</string>
+ <string name="file_operation_error" msgid="5016141190607538391">"No se puede hacer la operación con el archivo."</string>
<string name="rename_error" msgid="6700093173508118635">"No se ha podido cambiar el nombre del documento"</string>
<string name="menu_eject_root" msgid="9215040039374893613">"Expulsar"</string>
<string name="notification_copy_files_converted_title" msgid="6916768494891833365">"Se han convertido algunos archivos"</string>
@@ -144,8 +144,6 @@
<item quantity="other">¿Eliminar <xliff:g id="COUNT_1">%1$d</xliff:g> elementos?</item>
<item quantity="one">¿Eliminar <xliff:g id="COUNT_0">%1$d</xliff:g> elemento?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documentos"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Descargas"</string>
</resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index 84ff18693..1a6d262e9 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Kas kustutada <xliff:g id="COUNT_1">%1$d</xliff:g> üksust?</item>
<item quantity="one">Kas kustutada <xliff:g id="COUNT_0">%1$d</xliff:g> üksus?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumendid"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Allalaadimised"</string>
</resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index 80404add0..6d1d69891 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> elementu ezabatu nahi dituzu?</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> elementu ezabatu nahi duzu?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumentuak"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Deskargak"</string>
</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 8bd9fa9b4..55dfb09ac 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> مورد حذف شود؟</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> مورد حذف شود؟</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"اسناد"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"بارگیری‌ها"</string>
</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 507dac0c6..b6292494a 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Poistetaanko <xliff:g id="COUNT_1">%1$d</xliff:g> kohdetta?</item>
<item quantity="one">Poistetaanko <xliff:g id="COUNT_0">%1$d</xliff:g> kohde?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumentit"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Lataukset"</string>
</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index d85f6d08d..0663f4799 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one">Supprimer <xliff:g id="COUNT_1">%1$d</xliff:g> élément?</item>
<item quantity="other">Supprimer <xliff:g id="COUNT_1">%1$d</xliff:g> éléments?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documents"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Téléchargements"</string>
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index dd9077123..2736bacfc 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one">Supprimer <xliff:g id="COUNT_1">%1$d</xliff:g> élément ?</item>
<item quantity="other">Supprimer <xliff:g id="COUNT_1">%1$d</xliff:g> éléments ?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documents"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Téléchargements"</string>
</resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index 749311ad7..09b3ffb2a 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Queres eliminar <xliff:g id="COUNT_1">%1$d</xliff:g> elementos?</item>
<item quantity="one">Queres eliminar <xliff:g id="COUNT_0">%1$d</xliff:g> elemento?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documentos"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Descargas"</string>
</resources>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index e203e7d4f..0d1f12dfc 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> આઇટમ કાઢી નાખીએ?</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> આઇટમ કાઢી નાખીએ?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"દસ્તાવેજો"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"ડાઉનલોડ્સ"</string>
</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index b3a74ce09..8b567d521 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> आइटम हटाएं?</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> आइटम हटाएं?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"दस्तावेज़"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"डाउनलोड"</string>
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index e28fecdff..38bce6d2e 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -156,8 +156,6 @@
<item quantity="few">Želite li izbrisati <xliff:g id="COUNT_1">%1$d</xliff:g> stavke?</item>
<item quantity="other">Želite li izbrisati <xliff:g id="COUNT_1">%1$d</xliff:g> stavki?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumenti"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Preuzimanja"</string>
</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index b62574268..a2b5cc97e 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Töröl <xliff:g id="COUNT_1">%1$d</xliff:g> elemet?</item>
<item quantity="one">Töröl <xliff:g id="COUNT_0">%1$d</xliff:g> elemet?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumentumok"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Letöltések"</string>
</resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index 5cab4ad44..5f47beea3 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one">Delete <xliff:g id="COUNT_1">%1$d</xliff:g> items?</item>
<item quantity="other">Ջնջե՞լ <xliff:g id="COUNT_1">%1$d</xliff:g> տարր:</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Փաստաթղթեր"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Ներբեռնումներ"</string>
</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index f0ec26eba..0e53dcc1b 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Hapus <xliff:g id="COUNT_1">%1$d</xliff:g> item?</item>
<item quantity="one">Hapus <xliff:g id="COUNT_0">%1$d</xliff:g> item?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumen"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Downloadan"</string>
</resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index 3d734b246..f74082abd 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one">Eyða <xliff:g id="COUNT_1">%1$d</xliff:g> atriði?</item>
<item quantity="other">Eyða <xliff:g id="COUNT_1">%1$d</xliff:g> atriðum?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Skjöl"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Niðurhal"</string>
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 23158de52..5d94896b3 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Eliminare <xliff:g id="COUNT_1">%1$d</xliff:g> elementi?</item>
<item quantity="one">Eliminare <xliff:g id="COUNT_0">%1$d</xliff:g> elemento?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documenti"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Download"</string>
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 9712a2b89..8c994f85c 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -168,8 +168,6 @@
<item quantity="other">האם למחוק <xliff:g id="COUNT_1">%1$d</xliff:g> פריטים?</item>
<item quantity="one">האם למחוק <xliff:g id="COUNT_0">%1$d</xliff:g> פריט?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"מסמכים"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"הורדות"</string>
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 2a828ba29..fd7d39db0 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> 個の項目を削除しますか?</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> 個の項目を削除しますか?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"ドキュメント"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"ダウンロード"</string>
</resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index 95f408b16..03cce399f 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">გსურთ <xliff:g id="COUNT_1">%1$d</xliff:g> ერთეულის წაშლა?</item>
<item quantity="one">გსურთ <xliff:g id="COUNT_0">%1$d</xliff:g> ერთეულის წაშლა?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"დოკუმენტები"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"ჩამოტვირთვები"</string>
</resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index a7e7d84c3..2d734f407 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> элемент жойылсын ба?</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> элемент жойылсын ба?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Құжаттар"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Жүктеп алынғандар"</string>
</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index 60a52dbc0..fb359deca 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">លុបធាតុ <xliff:g id="COUNT_1">%1$d</xliff:g> ឬ?</item>
<item quantity="one">លុបធាតុ <xliff:g id="COUNT_0">%1$d</xliff:g> ឬ?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"ឯកសារ"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"ទាញយក"</string>
</resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 57869b8f8..8a61fb27a 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one"> <xliff:g id="COUNT_1">%1$d</xliff:g> ಐಟಂಗಳನ್ನು ಅಳಿಸುವುದೇ?</item>
<item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> ಐಟಂಗಳನ್ನು ಅಳಿಸುವುದೇ?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"ಡಾಕ್ಯುಮೆಂಟ್‌ಗಳು"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"ಡೌನ್‌ಲೋಡ್‌ಗಳು"</string>
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 9fa1d2c51..6bd3d20be 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">항목 <xliff:g id="COUNT_1">%1$d</xliff:g>개를 삭제하시겠습니까?</item>
<item quantity="one">항목 <xliff:g id="COUNT_0">%1$d</xliff:g>개를 삭제하시겠습니까?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"문서"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"다운로드"</string>
</resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index 7e755e76f..90044bef1 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> нерсе жок кылынсынбы?</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> нерсе жок кылынсынбы?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Документтер"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Жүктөлүп алынгандар"</string>
</resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index c0f397045..4e9f56a6a 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">ລຶບ <xliff:g id="COUNT_1">%1$d</xliff:g> ລາຍການອອກບໍ?</item>
<item quantity="one">ລຶບ <xliff:g id="COUNT_0">%1$d</xliff:g> ລາຍການອອກບໍ?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"ເອ​ກະ​ສານ"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"ດາວໂຫລດ"</string>
</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index cda989b2f..4962331c0 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -168,8 +168,6 @@
<item quantity="many">Ištrinti <xliff:g id="COUNT_1">%1$d</xliff:g> elemento?</item>
<item quantity="other">Ištrinti <xliff:g id="COUNT_1">%1$d</xliff:g> elementų?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumentai"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Atsisiuntimai"</string>
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 20f0b5976..5abb982be 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -156,8 +156,6 @@
<item quantity="one">Vai izdzēst <xliff:g id="COUNT_1">%1$d</xliff:g> vienumu?</item>
<item quantity="other">Vai izdzēst <xliff:g id="COUNT_1">%1$d</xliff:g> vienumus?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumenti"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Lejupielādes"</string>
</resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index 51392bd35..72583965c 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one">Да се избрише <xliff:g id="COUNT_1">%1$d</xliff:g> ставка?</item>
<item quantity="other">Да се избришат <xliff:g id="COUNT_1">%1$d</xliff:g> ставки?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Документи"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Преземања"</string>
</resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index f49f64ac5..176e3ce1a 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ഇനങ്ങൾ ഇല്ലാതാക്കണോ?</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ഇനം ഇല്ലാതാക്കണോ?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"ഡോക്യുമെന്റുകൾ"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"ഡൗണ്‍ലോഡുകൾ"</string>
</resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index 0d924cc71..4f99831b8 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> зүйлийг устгах уу?</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> зүйлийг устгах уу?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Документ"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Таталт"</string>
</resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index 48b3f88f4..9a1bed730 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> आयटम हटवायचा?</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> आयटम हटवायचे?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"दस्तऐवज"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"डाउनलोड"</string>
</resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index d8128bce7..e655b378d 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Padamkan <xliff:g id="COUNT_1">%1$d</xliff:g> item?</item>
<item quantity="one">Padamkan <xliff:g id="COUNT_0">%1$d</xliff:g> item?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumen"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Muat turun"</string>
</resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index 1fa8ae2a6..1bb3a18a0 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">အကြောင်းအရာ <xliff:g id="COUNT_1">%1$d</xliff:g> ခုကို ဖျက်မှာလား။</item>
<item quantity="one">အကြောင်းအရာ <xliff:g id="COUNT_0">%1$d</xliff:g> ခုကို ဖျက်မှာလား။</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"မှတ်တမ်းမှတ်ရာများ"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"ဒေါင်းလုဒ်များ"</string>
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 3bb31a576..ef75b52a7 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Vil du slette <xliff:g id="COUNT_1">%1$d</xliff:g> elementer?</item>
<item quantity="one">Vil du slette <xliff:g id="COUNT_0">%1$d</xliff:g> element?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumenter"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Nedlastinger"</string>
</resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index 89ebf30d3..99ec11129 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> वस्तुहरूलाई मेट्ने हो?</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> वस्तुलाई मेट्ने हो?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"कागजातहरू"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"डाउनलोडहरू"</string>
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 6a80f6c51..8983dea19 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> items verwijderen?</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> item verwijderen?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documenten"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Downloads"</string>
</resources>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
index aa93d3916..b961bd215 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa-rIN/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one">ਕੀ <xliff:g id="COUNT_1">%1$d</xliff:g> ਆਈਟਮਾਂ ਨੂੰ ਮਿਟਾਉਣਾ ਹੈ?</item>
<item quantity="other">ਕੀ <xliff:g id="COUNT_1">%1$d</xliff:g> ਆਈਟਮਾਂ ਨੂੰ ਮਿਟਾਉਣਾ ਹੈ?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"ਦਸਤਾਵੇਜ਼"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"ਡਾਊਨਲੋਡ"</string>
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 14fdcbe02..2e5d857cd 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -168,8 +168,6 @@
<item quantity="other">Usunąć <xliff:g id="COUNT_1">%1$d</xliff:g> elementu?</item>
<item quantity="one">Usunąć <xliff:g id="COUNT_0">%1$d</xliff:g> element?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumenty"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Pobrane"</string>
</resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index cce1858f2..ca8526e35 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one">Excluir <xliff:g id="COUNT_1">%1$d</xliff:g> item?</item>
<item quantity="other">Excluir <xliff:g id="COUNT_1">%1$d</xliff:g> itens?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documentos"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Downloads"</string>
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 2da735a75..f60205e72 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Pretende eliminar <xliff:g id="COUNT_1">%1$d</xliff:g> itens?</item>
<item quantity="one">Pretende eliminar <xliff:g id="COUNT_0">%1$d</xliff:g> item?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documentos"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Transferências"</string>
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index cce1858f2..ca8526e35 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one">Excluir <xliff:g id="COUNT_1">%1$d</xliff:g> item?</item>
<item quantity="other">Excluir <xliff:g id="COUNT_1">%1$d</xliff:g> itens?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documentos"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Downloads"</string>
</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 4df8586bb..7c0ec54f8 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -156,8 +156,6 @@
<item quantity="other">Ștergeți <xliff:g id="COUNT_1">%1$d</xliff:g> de elemente?</item>
<item quantity="one">Ștergeți <xliff:g id="COUNT_0">%1$d</xliff:g> element?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Documente"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Descărcări"</string>
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 5719457ec..117e2e63b 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -168,8 +168,6 @@
<item quantity="many">Удалить <xliff:g id="COUNT_1">%1$d</xliff:g> объектов?</item>
<item quantity="other">Удалить <xliff:g id="COUNT_1">%1$d</xliff:g> объекта?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Документы"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Скачанные файлы"</string>
</resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index 003cf413e..73f084a04 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -65,7 +65,7 @@
<string name="root_type_device" msgid="1713604128005476585">"උපාංග"</string>
<string name="root_type_apps" msgid="8646073235029886342">"තවත් යෙදුම්"</string>
<string name="empty" msgid="5300254272613103004">"අයිතම නැත"</string>
- <string name="no_results" msgid="2371026325236359209">"%1$s හි තරඟ නැත"</string>
+ <string name="no_results" msgid="2371026325236359209">"%1$s හි ගැළපුම් නැත"</string>
<string name="toast_no_application" msgid="7555319548595113121">"ගොනුව විවෘත කළ නොහැකිය"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"සමහර ලේඛන මැකීමට නොහැකිය"</string>
<string name="share_via" msgid="8725082736005677161">"බෙදාගන්නේ"</string>
@@ -144,8 +144,6 @@
<item quantity="one">අයිතම <xliff:g id="COUNT_1">%1$d</xliff:g> ක් මකන්නද?</item>
<item quantity="other">අයිතම <xliff:g id="COUNT_1">%1$d</xliff:g> ක් මකන්නද?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"ලේඛන"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"බාගැනීම්"</string>
</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 3f748f7bc..fd5068754 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -168,8 +168,6 @@
<item quantity="other">Odstrániť <xliff:g id="COUNT_1">%1$d</xliff:g> položiek?</item>
<item quantity="one">Odstrániť <xliff:g id="COUNT_0">%1$d</xliff:g> položku?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumenty"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Stiahnuté súbory"</string>
</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index eaac32485..0ed482d88 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -168,8 +168,6 @@
<item quantity="few">Ali želite izbrisati <xliff:g id="COUNT_1">%1$d</xliff:g> elemente?</item>
<item quantity="other">Ali želite izbrisati <xliff:g id="COUNT_1">%1$d</xliff:g> elementov?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumenti"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Prenosi"</string>
</resources>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index eeffcf439..da5320b6a 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Të fshihen <xliff:g id="COUNT_1">%1$d</xliff:g> artikuj?</item>
<item quantity="one">Të fshihet <xliff:g id="COUNT_0">%1$d</xliff:g> artikull?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokumentet"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Shkarkimet"</string>
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index e7d836325..4831832e2 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -156,8 +156,6 @@
<item quantity="few">Желите ли да избришете <xliff:g id="COUNT_1">%1$d</xliff:g> ставке?</item>
<item quantity="other">Желите ли да избришете <xliff:g id="COUNT_1">%1$d</xliff:g> ставки?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Документи"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Преузимања"</string>
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 1b373f8f8..e77fc82f3 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Vill du radera <xliff:g id="COUNT_1">%1$d</xliff:g> objekt?</item>
<item quantity="one">Vill du radera <xliff:g id="COUNT_0">%1$d</xliff:g> objekt?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokument"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Nedladdningar"</string>
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index eb263b3d0..e7510db93 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Ungependa kufuta vipengee <xliff:g id="COUNT_1">%1$d</xliff:g>?</item>
<item quantity="one">Ungependa kufuta kipengee <xliff:g id="COUNT_0">%1$d</xliff:g>?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Hati"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Vipakuliwa"</string>
</resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index d27ac83bb..b5895b514 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> உருப்படிகளை நீக்கவா?</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> உருப்படியை நீக்கவா?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"ஆவணங்கள்"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"பதிவிறக்கங்கள்"</string>
</resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index 380e9f340..d54b16c10 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> అంశాలను తొలగించాలా?</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> అంశాన్ని తొలగించాలా?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"పత్రాలు"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"డౌన్‌లోడ్‌లు"</string>
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 05dcdcdd1..b8ed6d08a 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">ลบ <xliff:g id="COUNT_1">%1$d</xliff:g> รายการใช่ไหม</item>
<item quantity="one">ลบ <xliff:g id="COUNT_0">%1$d</xliff:g> รายการใช่ไหม</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"เอกสาร"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"ดาวน์โหลด"</string>
</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 385323dc2..0e00639c0 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one">Gusto mo bang i-delete ang <xliff:g id="COUNT_1">%1$d</xliff:g> item?</item>
<item quantity="other">Gusto mo bang i-delete ang <xliff:g id="COUNT_1">%1$d</xliff:g> na item?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Mga Dokumento"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Mga Download"</string>
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index ecabdbce9..82cc6c502 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> öğe silinsin mi?</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> öğe silinsin mi?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Dokümanlar"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"İndirilenler"</string>
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 416bfb410..bfa55f6d5 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -168,8 +168,6 @@
<item quantity="many">Видалити <xliff:g id="COUNT_1">%1$d</xliff:g> елементів?</item>
<item quantity="other">Видалити <xliff:g id="COUNT_1">%1$d</xliff:g> елемента?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Документи"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Завантаження"</string>
</resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index df415cee9..f108ab1ef 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> آئٹمز حذف کریں؟</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> آئٹم حذف کریں؟</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"دستاویزات"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"ڈاؤن لوڈز"</string>
</resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index 6bc471a8e..2a3fc4d7e 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ta element o‘chirib tashlansinmi?</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ta element o‘chirib tashlansinmi?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Hujjatlar"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Yuklanmalar"</string>
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 60b348ff1..8bf8e9a40 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">Xóa <xliff:g id="COUNT_1">%1$d</xliff:g> mục?</item>
<item quantity="one">Xóa <xliff:g id="COUNT_0">%1$d</xliff:g> mục?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Tài liệu"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Nội dung tải xuống"</string>
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index bce87110a..a61fc9c00 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">要删除 <xliff:g id="COUNT_1">%1$d</xliff:g> 项吗?</item>
<item quantity="one">要删除 <xliff:g id="COUNT_0">%1$d</xliff:g> 项吗?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"文档"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"下载内容"</string>
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index c4bc4b193..0299d6d5c 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">要刪除 <xliff:g id="COUNT_1">%1$d</xliff:g> 個項目嗎?</item>
<item quantity="one">要刪除 <xliff:g id="COUNT_0">%1$d</xliff:g> 個項目嗎?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"文件"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"下載"</string>
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 57d4dff02..ea492fc96 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -144,8 +144,6 @@
<item quantity="other">要刪除 <xliff:g id="COUNT_1">%1$d</xliff:g> 個項目嗎?</item>
<item quantity="one">要刪除 <xliff:g id="COUNT_0">%1$d</xliff:g> 個項目嗎?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"文件"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"下載"</string>
</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 3c6c87a20..b9e8fb681 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -144,8 +144,6 @@
<item quantity="one">Susa izinto ezingu-<xliff:g id="COUNT_1">%1$d</xliff:g>?</item>
<item quantity="other">Susa izinto ezingu-<xliff:g id="COUNT_1">%1$d</xliff:g>?</item>
</plurals>
- <!-- no translation found for documents_shortcut_label (6185476684846785830) -->
- <skip />
- <!-- no translation found for downloads_shortcut_label (9109062409874698197) -->
- <skip />
+ <string name="documents_shortcut_label" msgid="6185476684846785830">"Amadokhumenti"</string>
+ <string name="downloads_shortcut_label" msgid="9109062409874698197">"Okulandiwe"</string>
</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 2c4ff9977..a9be865e3 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -43,8 +43,10 @@
<dimen name="drawer_edge_width">12dp</dimen>
- <dimen name="drag_shadow_width">160dp</dimen>
- <dimen name="drag_shadow_height">48dp</dimen>
+ <dimen name="drag_shadow_width">176dp</dimen>
+ <dimen name="drag_shadow_height">64dp</dimen>
+ <dimen name="drag_shadow_radius">4dp</dimen>
+ <dimen name="drag_shadow_padding">8dp</dimen>
<dimen name="doc_header_sort_icon_size">16dp</dimen>
<dimen name="doc_header_height">60dp</dimen>
@@ -52,6 +54,6 @@
<dimen name="dropdown_sort_widget_margin">20dp</dimen>
<dimen name="dropdown_sort_widget_icon_size">30dp</dimen>
- <dimen name="drop_icon_height">15dp</dimen>
- <dimen name="drop_icon_width">15dp</dimen>
+ <dimen name="drop_icon_height">14dp</dimen>
+ <dimen name="drop_icon_width">14dp</dimen>
</resources>
diff --git a/src/com/android/documentsui/BaseActivity.java b/src/com/android/documentsui/BaseActivity.java
index ad7295bf8..c9db7ccac 100644
--- a/src/com/android/documentsui/BaseActivity.java
+++ b/src/com/android/documentsui/BaseActivity.java
@@ -53,6 +53,7 @@ import com.android.documentsui.base.State;
import com.android.documentsui.base.State.ViewMode;
import com.android.documentsui.dirlist.AnimationView;
import com.android.documentsui.dirlist.DirectoryFragment;
+import com.android.documentsui.queries.DebugCommandProcessor;
import com.android.documentsui.queries.SearchViewManager;
import com.android.documentsui.queries.SearchViewManager.SearchManagerListener;
import com.android.documentsui.roots.GetRootDocumentTask;
@@ -167,7 +168,14 @@ public abstract class BaseActivity
mNavigator.update();
}
};
- mSearchManager = new SearchViewManager(searchListener, icicle);
+
+ // "Commands" are meta input for controlling system behavior.
+ // We piggy back on search input as it is the only text input
+ // area in the app. But the functionality is independent
+ // of "regular" search query processing.
+ DebugCommandProcessor dbgCommands = new DebugCommandProcessor();
+ dbgCommands.add(new DebugCommandProcessor.DumpRootsCacheHandler(this));
+ mSearchManager = new SearchViewManager(searchListener, dbgCommands, icicle);
mSortController = SortController.create(this, mState.derivedMode, mState.sortModel);
// Base classes must update result in their onCreate.
diff --git a/src/com/android/documentsui/DocumentsApplication.java b/src/com/android/documentsui/DocumentsApplication.java
index 3f1d48b76..94e9da608 100644
--- a/src/com/android/documentsui/DocumentsApplication.java
+++ b/src/com/android/documentsui/DocumentsApplication.java
@@ -37,7 +37,6 @@ public class DocumentsApplication extends Application {
private static final long PROVIDER_ANR_TIMEOUT = 20 * DateUtils.SECOND_IN_MILLIS;
private RootsCache mRoots;
-
private ThumbnailCache mThumbnailCache;
private ClipStorage mClipStore;
private DocumentClipper mClipper;
diff --git a/src/com/android/documentsui/DragShadowBuilder.java b/src/com/android/documentsui/DragShadowBuilder.java
index 24e037da9..2bc6dde65 100644
--- a/src/com/android/documentsui/DragShadowBuilder.java
+++ b/src/com/android/documentsui/DragShadowBuilder.java
@@ -18,6 +18,8 @@ package com.android.documentsui;
import android.content.Context;
import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
@@ -41,18 +43,23 @@ public final class DragShadowBuilder extends View.DragShadowBuilder {
private final DropBadgeView mIcon;
private final int mWidth;
private final int mHeight;
+ private final int mShadowRadius;
+ private int mPadding;
+ private Paint paint;
public DragShadowBuilder(Context context) {
mWidth = context.getResources().getDimensionPixelSize(R.dimen.drag_shadow_width);
mHeight = context.getResources().getDimensionPixelSize(R.dimen.drag_shadow_height);
+ mShadowRadius = context.getResources().getDimensionPixelSize(R.dimen.drag_shadow_radius);
+ mPadding = context.getResources().getDimensionPixelSize(R.dimen.drag_shadow_padding);
mShadowView = LayoutInflater.from(context).inflate(R.layout.drag_shadow_layout, null);
mTitle = (TextView) mShadowView.findViewById(android.R.id.title);
mIcon = (DropBadgeView) mShadowView.findViewById(android.R.id.icon);
- mShadowView
- .setBackground(context.getResources().getDrawable(R.drawable.drag_shadow_background,
- null));
+ // Important for certain APIs
+ mShadowView.setLayerType(View.LAYER_TYPE_SOFTWARE, paint);
+ paint = new Paint(Paint.ANTI_ALIAS_FLAG);
}
@Override
@@ -68,8 +75,22 @@ public final class DragShadowBuilder extends View.DragShadowBuilder {
// Calling measure is necessary in order for all child views to get correctly laid out.
mShadowView.measure(
View.MeasureSpec.makeMeasureSpec(r.right- r.left, View.MeasureSpec.EXACTLY),
- View.MeasureSpec.makeMeasureSpec(r.top- r.bottom, View.MeasureSpec.EXACTLY));
+ View.MeasureSpec.makeMeasureSpec(r.bottom - r.top , View.MeasureSpec.EXACTLY));
mShadowView.layout(r.left, r.top, r.right, r.bottom);
+
+ // Since DragShadow is not an actual view drawn in hardware-accelerated window,
+ // android:elevation does not work; we need to draw the shadow ourselves manually.
+ paint.setColor(Color.TRANSPARENT);
+ // Shadow 1
+ int opacity = (int) (255 * 0.1);
+ paint.setShadowLayer(mShadowRadius, 0, 0, Color.argb(opacity, 0, 0, 0));
+ canvas.drawRect(r.left + mPadding, r.top + mPadding, r.right - mPadding,
+ r.bottom - mPadding, paint);
+ // Shadow 2
+ opacity = (int) (255 * 0.24);
+ paint.setShadowLayer(mShadowRadius, 0, mShadowRadius, Color.argb(opacity, 0, 0, 0));
+ canvas.drawRect(r.left + mPadding, r.top + mPadding, r.right - mPadding,
+ r.bottom - mPadding, paint);
mShadowView.draw(canvas);
}
diff --git a/src/com/android/documentsui/DropBadgeView.java b/src/com/android/documentsui/DropBadgeView.java
index 8ed67013d..6d18af0ab 100644
--- a/src/com/android/documentsui/DropBadgeView.java
+++ b/src/com/android/documentsui/DropBadgeView.java
@@ -41,6 +41,7 @@ public final class DropBadgeView extends ImageView {
.getDimensionPixelSize(R.dimen.drop_icon_height);
final int badgeWidth = context.getResources()
.getDimensionPixelSize(R.dimen.drop_icon_width);
+ final int iconSize = context.getResources().getDimensionPixelSize(R.dimen.root_icon_size);
Drawable okBadge = context.getResources().getDrawable(R.drawable.drop_badge_states, null);
Drawable defaultIcon = context.getResources()
@@ -50,7 +51,9 @@ public final class DropBadgeView extends ImageView {
mBackground = new LayerDrawable(list);
mBackground.setLayerGravity(1, Gravity.BOTTOM | Gravity.RIGHT);
+ mBackground.setLayerGravity(0, Gravity.TOP | Gravity.LEFT);
mBackground.setLayerSize(1, badgeWidth, badgeHeight);
+ mBackground.setLayerSize(0, iconSize, iconSize);
setBackground(mBackground);
}
diff --git a/src/com/android/documentsui/RefreshTask.java b/src/com/android/documentsui/RefreshTask.java
index d2083461d..ef6a16ebc 100644
--- a/src/com/android/documentsui/RefreshTask.java
+++ b/src/com/android/documentsui/RefreshTask.java
@@ -111,12 +111,13 @@ public class RefreshTask extends TimeoutTask<Void, Boolean> {
@Override
public void finish(Boolean refreshSupported) {
if (DEBUG) {
- if (refreshSupported) {
+ // In case of timeout, refreshSupported is null.
+ if (Boolean.TRUE.equals(refreshSupported)) {
Log.v(TAG, "Provider supports refresh and has refreshed");
} else {
Log.v(TAG, "Provider does not support refresh and did not refresh");
}
}
- mCallback.accept(refreshSupported);
+ mCallback.accept(refreshSupported != null ? refreshSupported : Boolean.FALSE);
}
}
diff --git a/src/com/android/documentsui/archives/Archive.java b/src/com/android/documentsui/archives/Archive.java
index 410ec6ab4..496ffdc00 100644
--- a/src/com/android/documentsui/archives/Archive.java
+++ b/src/com/android/documentsui/archives/Archive.java
@@ -58,8 +58,10 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Stack;
-import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
import java.util.zip.ZipEntry;
/**
@@ -83,7 +85,7 @@ public class Archive implements Closeable {
private final Uri mArchiveUri;
private final Uri mNotificationUri;
private final StrictJarFile mZipFile;
- private final ExecutorService mExecutor;
+ private final ThreadPoolExecutor mExecutor;
private final Map<String, ZipEntry> mEntries;
private final Map<String, List<ZipEntry>> mTree;
@@ -100,7 +102,12 @@ public class Archive implements Closeable {
mZipFile = file != null ?
new StrictJarFile(file.getPath(), false /* verify */, false /* signatures */) :
new StrictJarFile(fd, false /* verify */, false /* signatures */);
- mExecutor = Executors.newSingleThreadExecutor();
+
+ // At most 8 active threads. All threads idling for more than a minute will
+ // be closed.
+ mExecutor = new ThreadPoolExecutor(8, 8, 60, TimeUnit.SECONDS,
+ new LinkedBlockingQueue<Runnable>());
+ mExecutor.allowCoreThreadTimeOut(true);
// Build the tree structure in memory.
mTree = new HashMap<>();
@@ -199,6 +206,9 @@ public class Archive implements Closeable {
*
* If the file descriptor is not seekable, then a snapshot will be created.
*
+ * This method takes ownership for the passed descriptor. The caller must
+ * not close it.
+ *
* @param context Context of the provider.
* @param descriptor File descriptor for the archive's contents.
* @param archiveUri Uri of the archive document.
@@ -208,43 +218,54 @@ public class Archive implements Closeable {
Context context, ParcelFileDescriptor descriptor, Uri archiveUri,
@Nullable Uri notificationUri)
throws IOException {
- if (canSeek(descriptor)) {
- return new Archive(context, null, descriptor.getFileDescriptor(), archiveUri,
- notificationUri);
- }
-
- // Fallback for non-seekable file descriptors.
- File snapshotFile = null;
+ FileDescriptor fd = null;
try {
- // Create a copy of the archive, as ZipFile doesn't operate on streams.
- // Moreover, ZipInputStream would be inefficient for large files on
- // pipes.
- snapshotFile = File.createTempFile("com.android.documentsui.snapshot{",
- "}.zip", context.getCacheDir());
-
- try (
- final FileOutputStream outputStream =
- new ParcelFileDescriptor.AutoCloseOutputStream(
- ParcelFileDescriptor.open(
- snapshotFile, ParcelFileDescriptor.MODE_WRITE_ONLY));
- final ParcelFileDescriptor.AutoCloseInputStream inputStream =
- new ParcelFileDescriptor.AutoCloseInputStream(descriptor);
- ) {
- final byte[] buffer = new byte[32 * 1024];
- int bytes;
- while ((bytes = inputStream.read(buffer)) != -1) {
- outputStream.write(buffer, 0, bytes);
- }
- outputStream.flush();
+ if (canSeek(descriptor)) {
+ fd = new FileDescriptor();
+ fd.setInt$(descriptor.detachFd());
+ return new Archive(context, null, fd, archiveUri,
+ notificationUri);
}
- return new Archive(context, snapshotFile, null, archiveUri,
- notificationUri);
- } finally {
- // On UNIX the file will be still available for processes which opened it, even
- // after deleting it. Remove it ASAP, as it won't be used by anyone else.
- if (snapshotFile != null) {
- snapshotFile.delete();
+
+ // Fallback for non-seekable file descriptors.
+ File snapshotFile = null;
+ try {
+ // Create a copy of the archive, as ZipFile doesn't operate on streams.
+ // Moreover, ZipInputStream would be inefficient for large files on
+ // pipes.
+ snapshotFile = File.createTempFile("com.android.documentsui.snapshot{",
+ "}.zip", context.getCacheDir());
+
+ try (
+ final FileOutputStream outputStream =
+ new ParcelFileDescriptor.AutoCloseOutputStream(
+ ParcelFileDescriptor.open(
+ snapshotFile, ParcelFileDescriptor.MODE_WRITE_ONLY));
+ final ParcelFileDescriptor.AutoCloseInputStream inputStream =
+ new ParcelFileDescriptor.AutoCloseInputStream(descriptor);
+ ) {
+ final byte[] buffer = new byte[32 * 1024];
+ int bytes;
+ while ((bytes = inputStream.read(buffer)) != -1) {
+ outputStream.write(buffer, 0, bytes);
+ }
+ outputStream.flush();
+ }
+ return new Archive(context, snapshotFile, null, archiveUri,
+ notificationUri);
+ } finally {
+ // On UNIX the file will be still available for processes which opened it, even
+ // after deleting it. Remove it ASAP, as it won't be used by anyone else.
+ if (snapshotFile != null) {
+ snapshotFile.delete();
+ }
}
+ } catch (Exception e) {
+ // Since the method takes ownership of the passed descriptor, close it
+ // on exception.
+ IoUtils.closeQuietly(descriptor);
+ IoUtils.closeQuietly(fd);
+ throw e;
}
}
@@ -479,24 +500,19 @@ public class Archive implements Closeable {
}
/**
- * Schedules a gracefully close of the archive after any opened files are closed.
+ * Closes an archive.
*
* <p>This method does not block until shutdown. Once called, other methods should not be
- * called.
+ * called. Any active pipes will be terminated.
*/
@Override
public void close() {
- mExecutor.execute(new Runnable() {
- @Override
- public void run() {
- try {
- mZipFile.close();
- } catch (IOException e) {
- // Silent close.
- }
- }
- });
- mExecutor.shutdown();
+ mExecutor.shutdownNow();
+ try {
+ mZipFile.close();
+ } catch (IOException e) {
+ // Silent close.
+ }
}
private void addCursorRow(MatrixCursor cursor, ZipEntry entry) {
diff --git a/src/com/android/documentsui/base/DocumentInfo.java b/src/com/android/documentsui/base/DocumentInfo.java
index bf01f2fa9..3185d0972 100644
--- a/src/com/android/documentsui/base/DocumentInfo.java
+++ b/src/com/android/documentsui/base/DocumentInfo.java
@@ -217,6 +217,7 @@ public class DocumentInfo implements Durable, Parcelable {
+ ", isContainer=" + isContainer()
+ ", isDirectory=" + isDirectory()
+ ", isArchive=" + isArchive()
+ + ", isInArchive=" + isInArchive()
+ ", isPartial=" + isPartial()
+ ", isVirtual=" + isVirtual()
+ ", isDeleteSupported=" + isDeleteSupported()
@@ -254,6 +255,10 @@ public class DocumentInfo implements Durable, Parcelable {
return ArchivesProvider.isSupportedArchiveType(mimeType);
}
+ public boolean isInArchive() {
+ return ArchivesProvider.AUTHORITY.equals(authority);
+ }
+
public boolean isPartial() {
return (flags & Document.FLAG_PARTIAL) != 0;
}
diff --git a/src/com/android/documentsui/base/RootInfo.java b/src/com/android/documentsui/base/RootInfo.java
index 0b464172e..2d68161db 100644
--- a/src/com/android/documentsui/base/RootInfo.java
+++ b/src/com/android/documentsui/base/RootInfo.java
@@ -416,6 +416,12 @@ public class RootInfo implements Durable, Parcelable, Comparable<RootInfo> {
+ getUri();
}
+ public String toDebugString() {
+ return (TextUtils.isEmpty(summary))
+ ? "\"" + title + "\" @ " + getUri()
+ : "\"" + title + " (" + summary + ")\" @ " + getUri();
+ }
+
public String getDirectoryString() {
return !TextUtils.isEmpty(summary) ? summary : title;
}
diff --git a/src/com/android/documentsui/dirlist/DirectoryFragment.java b/src/com/android/documentsui/dirlist/DirectoryFragment.java
index c641275f3..d15f4078d 100644
--- a/src/com/android/documentsui/dirlist/DirectoryFragment.java
+++ b/src/com/android/documentsui/dirlist/DirectoryFragment.java
@@ -221,7 +221,7 @@ public class DirectoryFragment extends Fragment
final View view = inflater.inflate(R.layout.fragment_directory, container, false);
mMessageBar = MessageBar.create(getChildFragmentManager());
- mProgressBar = activity.findViewById(R.id.progressbar);
+ mProgressBar = view.findViewById(R.id.progressbar);
assert(mProgressBar != null);
mRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.refresh_layout);
diff --git a/src/com/android/documentsui/dirlist/Model.java b/src/com/android/documentsui/dirlist/Model.java
index 5094f414f..64dc3d156 100644
--- a/src/com/android/documentsui/dirlist/Model.java
+++ b/src/com/android/documentsui/dirlist/Model.java
@@ -16,6 +16,7 @@
package com.android.documentsui.dirlist;
+import static com.android.documentsui.base.DocumentInfo.getCursorInt;
import static com.android.documentsui.base.DocumentInfo.getCursorString;
import static com.android.documentsui.base.Shared.DEBUG;
import static com.android.documentsui.base.Shared.VERBOSE;
@@ -32,6 +33,7 @@ import android.support.annotation.VisibleForTesting;
import android.util.Log;
import com.android.documentsui.DirectoryResult;
+import com.android.documentsui.archives.ArchivesProvider;
import com.android.documentsui.base.DocumentInfo;
import com.android.documentsui.base.EventListener;
import com.android.documentsui.roots.RootCursorWrapper;
@@ -52,12 +54,14 @@ import java.util.function.Predicate;
public class Model {
/**
- * Filter that passes (returns true) all non-virtual, non-partial files.
+ * Filter that passes (returns true) all non-virtual, non-partial files, not archived files.
*/
public static final Predicate<Cursor> CONCRETE_FILE_FILTER = (Cursor c) -> {
- int flags = DocumentInfo.getCursorInt(c, Document.COLUMN_FLAGS);
+ int flags = getCursorInt(c, Document.COLUMN_FLAGS);
+ String authority = getCursorString(c, RootCursorWrapper.COLUMN_AUTHORITY);
return (flags & Document.FLAG_VIRTUAL_DOCUMENT) == 0
- && (flags & Document.FLAG_PARTIAL) == 0;
+ && (flags & Document.FLAG_PARTIAL) == 0
+ && !ArchivesProvider.AUTHORITY.equals(authority);
};
private static final Predicate<Cursor> ANY_FILE_FILTER = (Cursor c) -> true;
diff --git a/src/com/android/documentsui/files/ActionHandler.java b/src/com/android/documentsui/files/ActionHandler.java
index 7c6212693..e365c4d6e 100644
--- a/src/com/android/documentsui/files/ActionHandler.java
+++ b/src/com/android/documentsui/files/ActionHandler.java
@@ -434,6 +434,11 @@ public class ActionHandler<T extends Activity & Addons> extends AbstractActionHa
return false;
}
+ if (doc.isInArchive()) {
+ Log.w(TAG, "Can't view archived files.");
+ return false;
+ }
+
if (doc.isContainer()) {
openContainerDocument(doc);
return true;
diff --git a/src/com/android/documentsui/picker/PickActivity.java b/src/com/android/documentsui/picker/PickActivity.java
index ed8918724..b0b4ff49a 100644
--- a/src/com/android/documentsui/picker/PickActivity.java
+++ b/src/com/android/documentsui/picker/PickActivity.java
@@ -338,7 +338,9 @@ public class PickActivity extends BaseActivity implements ActionHandler.Addons {
@Override
public void onDocumentPicked(DocumentInfo doc) {
final FragmentManager fm = getFragmentManager();
- if (doc.isContainer()) {
+ // Do not inline-open archives, as otherwise it would be impossible to pick
+ // archive files. Note, that picking files inside archives is not supported.
+ if (doc.isDirectory()) {
mInjector.actions.openContainerDocument(doc);
} else if (mState.action == ACTION_OPEN || mState.action == ACTION_GET_CONTENT) {
// Explicit file picked, return
diff --git a/src/com/android/documentsui/queries/DebugCommandProcessor.java b/src/com/android/documentsui/queries/DebugCommandProcessor.java
index 7a12a18b3..727d72edf 100644
--- a/src/com/android/documentsui/queries/DebugCommandProcessor.java
+++ b/src/com/android/documentsui/queries/DebugCommandProcessor.java
@@ -15,18 +15,20 @@
*/
package com.android.documentsui.queries;
+import android.content.Context;
import android.os.Build;
import android.support.annotation.VisibleForTesting;
import android.text.TextUtils;
import android.util.Log;
+import com.android.documentsui.DocumentsApplication;
import com.android.documentsui.base.DebugFlags;
import com.android.documentsui.base.EventHandler;
import java.util.ArrayList;
import java.util.List;
-final class DebugCommandProcessor implements EventHandler<String> {
+public final class DebugCommandProcessor implements EventHandler<String> {
@VisibleForTesting
static final String COMMAND_PREFIX = "dbg:";
@@ -43,10 +45,9 @@ final class DebugCommandProcessor implements EventHandler<String> {
}
}
- @VisibleForTesting
- DebugCommandProcessor(EventHandler<String[]>... commands) {
- for (EventHandler<String[]> c : commands) {
- mCommands.add(c);
+ public void add(EventHandler<String[]> handler) {
+ if (Build.IS_DEBUGGABLE) {
+ mCommands.add(handler);
}
}
@@ -59,7 +60,7 @@ final class DebugCommandProcessor implements EventHandler<String> {
return true;
}
}
- Log.d(SearchViewManager.TAG, "Unrecognized debug command: " + query);
+ Log.d(TAG, "Unrecognized debug command: " + query);
}
return false;
}
@@ -116,4 +117,21 @@ final class DebugCommandProcessor implements EventHandler<String> {
}
return Boolean.valueOf(val);
}
+
+ public static final class DumpRootsCacheHandler implements EventHandler<String[]> {
+ private final Context mContext;
+
+ public DumpRootsCacheHandler(Context context) {
+ mContext = context;
+ }
+
+ @Override
+ public boolean accept(String[] tokens) {
+ if ("dumpCache".equals(tokens[0])) {
+ DocumentsApplication.getRootsCache(mContext).logCache();
+ return true;
+ }
+ return false;
+ }
+ }
}
diff --git a/src/com/android/documentsui/queries/SearchViewManager.java b/src/com/android/documentsui/queries/SearchViewManager.java
index 04bc53f83..ba051152a 100644
--- a/src/com/android/documentsui/queries/SearchViewManager.java
+++ b/src/com/android/documentsui/queries/SearchViewManager.java
@@ -44,12 +44,13 @@ public class SearchViewManager implements
SearchView.OnCloseListener, OnQueryTextListener, OnClickListener, OnFocusChangeListener,
OnActionExpandListener {
- static final String TAG = "SearchManager";
+ private static final String TAG = "SearchManager";
+
private final SearchManagerListener mListener;
private final DebugCommandProcessor mCommandProcessor;
+ private @Nullable String mCurrentSearch;
private boolean mSearchExpanded;
- private String mCurrentSearch;
private boolean mIgnoreNextClose;
private boolean mFullBar;
@@ -59,16 +60,15 @@ public class SearchViewManager implements
public SearchViewManager(
SearchManagerListener listener,
+ DebugCommandProcessor commandProcessor,
@Nullable Bundle savedState) {
+
assert (listener != null);
+ assert (commandProcessor != null);
+
mListener = listener;
+ mCommandProcessor = commandProcessor;
mCurrentSearch = savedState != null ? savedState.getString(Shared.EXTRA_QUERY) : null;
-
- // "Commands" are meta input for controlling system behavior.
- // We piggy back on search input as it is the only text input
- // area in the app. But the functionality is independent
- // of "regular" search query processing.
- mCommandProcessor = new DebugCommandProcessor();
}
public void install(DocumentsToolbar actionBar, boolean isFullBarSearch) {
diff --git a/src/com/android/documentsui/roots/RootsCache.java b/src/com/android/documentsui/roots/RootsCache.java
index 43ef61af1..ad91228c1 100644
--- a/src/com/android/documentsui/roots/RootsCache.java
+++ b/src/com/android/documentsui/roots/RootsCache.java
@@ -41,15 +41,16 @@ import android.util.Log;
import com.android.documentsui.DocumentsApplication;
import com.android.documentsui.R;
+import com.android.documentsui.base.Providers;
import com.android.documentsui.base.RootInfo;
import com.android.documentsui.base.State;
import com.android.internal.annotations.GuardedBy;
-import libcore.io.IoUtils;
-
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
+import libcore.io.IoUtils;
+
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -65,6 +66,14 @@ import java.util.concurrent.TimeUnit;
public class RootsCache implements RootsAccess {
private static final String TAG = "RootsCache";
+ // Not all providers are equally well written. If a provider returns
+ // empty results we don't cache them...unless they're in this magical list
+ // of beloved providers.
+ private static final List<String> PERMIT_EMPTY_CACHE = new ArrayList<String>() {{
+ // MTP provider commonly returns no roots (if no devices are attached).
+ add(Providers.AUTHORITY_MTP);
+ }};
+
private final Context mContext;
private final ContentObserver mObserver;
@@ -208,10 +217,11 @@ public class RootsCache implements RootsAccess {
}
/**
- * Bring up requested provider and query for all active roots.
+ * Bring up requested provider and query for all active roots. Will consult cached
+ * roots if not forceRefresh. Will query when cached roots is empty (which should never happen).
*/
- private Collection<RootInfo> loadRootsForAuthority(ContentResolver resolver, String authority,
- boolean forceRefresh) {
+ private Collection<RootInfo> loadRootsForAuthority(
+ ContentResolver resolver, String authority, boolean forceRefresh) {
if (VERBOSE) Log.v(TAG, "Loading roots for " + authority);
synchronized (mObservedAuthorities) {
@@ -228,8 +238,14 @@ public class RootsCache implements RootsAccess {
// long-lived system process.
final Bundle systemCache = resolver.getCache(rootsUri);
if (systemCache != null) {
- if (VERBOSE) Log.v(TAG, "System cache hit for " + authority);
- return systemCache.getParcelableArrayList(TAG);
+ ArrayList<RootInfo> cachedRoots = systemCache.getParcelableArrayList(TAG);
+ assert(cachedRoots != null);
+ if (!cachedRoots.isEmpty() || PERMIT_EMPTY_CACHE.contains(authority)) {
+ if (VERBOSE) Log.v(TAG, "System cache hit for " + authority);
+ return cachedRoots;
+ } else {
+ Log.w(TAG, "Ignoring empty system cache hit for " + authority);
+ }
}
}
@@ -254,15 +270,16 @@ public class RootsCache implements RootsAccess {
// process, in case our process goes away. The system takes care of
// invalidating the cache if the package or Uri changes.
final Bundle systemCache = new Bundle();
- systemCache.putParcelableArrayList(TAG, roots);
- resolver.putCache(rootsUri, systemCache);
+ if (roots.isEmpty() && !PERMIT_EMPTY_CACHE.contains(authority)) {
+ Log.i(TAG, "Provider returned no roots. Possibly naughty: " + authority);
+ } else {
+ systemCache.putParcelableArrayList(TAG, roots);
+ resolver.putCache(rootsUri, systemCache);
+ }
return roots;
}
- /* (non-Javadoc)
- * @see com.android.documentsui.roots.RootsCache#getRootOneshot(java.lang.String, java.lang.String)
- */
@Override
public RootInfo getRootOneshot(String authority, String rootId) {
return getRootOneshot(authority, rootId, false);
@@ -342,6 +359,28 @@ public class RootsCache implements RootsAccess {
return mRecentsRoot;
}
+ public void logCache() {
+ ContentResolver resolver = mContext.getContentResolver();
+ StringBuilder output = new StringBuilder();
+
+ for (String authority : mObservedAuthorities) {
+ List<String> roots = new ArrayList<>();
+ Uri rootsUri = DocumentsContract.buildRootsUri(authority);
+ Bundle systemCache = resolver.getCache(rootsUri);
+ if (systemCache != null) {
+ ArrayList<RootInfo> cachedRoots = systemCache.getParcelableArrayList(TAG);
+ for (RootInfo root : cachedRoots) {
+ roots.add(root.toDebugString());
+ }
+ }
+
+ output.append((output.length() == 0) ? "System cache: " : ", ");
+ output.append(authority).append("=").append(roots);
+ }
+
+ Log.i(TAG, output.toString());
+ }
+
private class UpdateTask extends AsyncTask<Void, Void, Void> {
private final boolean mForceRefreshAll;
private final String mForceRefreshPackage;
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index 0b767662f..0df0ffc4c 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -17,6 +17,18 @@
<action android:name="android.content.action.DOCUMENTS_PROVIDER" />
</intent-filter>
</provider>
+ <!-- Provider that demostrates some features, like display of INFO and ERROR messages. -->
+ <provider
+ android:name="com.android.documentsui.DemoProvider"
+ android:authorities="com.android.documentsui.demoprovider"
+ android:exported="true"
+ android:grantUriPermissions="true"
+ android:permission="android.permission.MANAGE_DOCUMENTS"
+ android:enabled="true">
+ <intent-filter>
+ <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
+ </intent-filter>
+ </provider>
</application>
<instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
diff --git a/tests/common/com/android/documentsui/DemoProvider.java b/tests/common/com/android/documentsui/DemoProvider.java
new file mode 100644
index 000000000..67703e7b5
--- /dev/null
+++ b/tests/common/com/android/documentsui/DemoProvider.java
@@ -0,0 +1,158 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.documentsui;
+
+import android.database.Cursor;
+import android.database.MatrixCursor;
+import android.database.MatrixCursor.RowBuilder;
+import android.os.Bundle;
+import android.os.CancellationSignal;
+import android.os.ParcelFileDescriptor;
+import android.provider.DocumentsContract;
+import android.provider.DocumentsContract.Document;
+import android.provider.DocumentsContract.Root;
+import android.provider.DocumentsProvider;
+
+import java.io.FileNotFoundException;
+
+/**
+ * Provides data view that exercises some of the more esoteric functionality...like
+ * display of INFO and ERROR messages.
+ *
+ * <p>Do not use this provider for automated testing.
+ */
+public class DemoProvider extends DocumentsProvider {
+
+ private static final String ROOT_ID = "demo-root";
+
+ private static final String[] DEFAULT_ROOT_PROJECTION = new String[] {
+ Root.COLUMN_ROOT_ID,
+ Root.COLUMN_FLAGS,
+ Root.COLUMN_TITLE,
+ Root.COLUMN_DOCUMENT_ID,
+ Root.COLUMN_AVAILABLE_BYTES
+ };
+
+ private static final String[] DEFAULT_DOCUMENT_PROJECTION = new String[] {
+ Document.COLUMN_DOCUMENT_ID,
+ Document.COLUMN_MIME_TYPE,
+ Document.COLUMN_DISPLAY_NAME,
+ Document.COLUMN_LAST_MODIFIED,
+ Document.COLUMN_FLAGS,
+ Document.COLUMN_SIZE,
+ };
+
+ @Override
+ public Cursor queryRoots(String[] projection) throws FileNotFoundException {
+ MatrixCursor c = new MatrixCursor(
+ projection != null ? projection : DEFAULT_ROOT_PROJECTION);
+ final RowBuilder row = c.newRow();
+ row.add(Root.COLUMN_ROOT_ID, ROOT_ID);
+ row.add(Root.COLUMN_FLAGS, 0);
+ row.add(Root.COLUMN_TITLE, "Demo Root");
+ row.add(Root.COLUMN_DOCUMENT_ID, "root0");
+ row.add(Root.COLUMN_AVAILABLE_BYTES, 1024 * 1024 * 100);
+ return c;
+ }
+
+ @Override
+ public Cursor queryDocument(String documentId, String[] projection)
+ throws FileNotFoundException {
+ MatrixCursor c = new MatrixCursor(
+ projection != null ? projection : DEFAULT_DOCUMENT_PROJECTION);
+ Bundle extras = new Bundle();
+ c.setExtras(extras);
+ extras.putString(
+ DocumentsContract.EXTRA_INFO,
+ "This provider is for feature demos only. Do not use from automated tests.");
+ addFolder(c, documentId);
+ return c;
+ }
+
+ @Override
+ public Cursor queryChildDocuments(
+ String parentDocumentId, String[] projection, String sortOrder)
+ throws FileNotFoundException {
+ MatrixCursor c = new MatrixCursor(
+ projection != null ? projection : DEFAULT_DOCUMENT_PROJECTION);
+ Bundle extras = new Bundle();
+ c.setExtras(extras);
+
+ switch (parentDocumentId) {
+ case "aaa":
+ extras.putString(
+ DocumentsContract.EXTRA_INFO,
+ "I'm a synthetic INFO. Don't judge me.");
+ addFile(c, "zzz");
+ break;
+
+ case "bbb":
+ extras.putString(
+ DocumentsContract.EXTRA_INFO,
+ "I'm a synthetic INFO. Don't judge me.");
+ break;
+
+ case "ccc":
+ extras.putString(
+ DocumentsContract.EXTRA_INFO,
+ "INFO: I'm confused. I've show both ERROR and INFO.");
+ extras.putString(
+ DocumentsContract.EXTRA_ERROR,
+ "ERROR: I'm confused. I've show both ERROR and INFO.");
+ break;
+
+ default:
+ addFolder(c, "aaa");
+ addFolder(c, "bbb");
+ addFolder(c, "ccc");
+ break;
+ }
+
+ return c;
+ }
+
+ private void addFolder(MatrixCursor c, String id) {
+ final RowBuilder row = c.newRow();
+ row.add(Document.COLUMN_DOCUMENT_ID, id);
+ row.add(Document.COLUMN_DISPLAY_NAME, id);
+ row.add(Document.COLUMN_SIZE, 0);
+ row.add(Document.COLUMN_MIME_TYPE, DocumentsContract.Document.MIME_TYPE_DIR);
+ row.add(Document.COLUMN_FLAGS, 0);
+ row.add(Document.COLUMN_LAST_MODIFIED, System.currentTimeMillis());
+ }
+
+ private void addFile(MatrixCursor c, String id) {
+ final RowBuilder row = c.newRow();
+ row.add(Document.COLUMN_DOCUMENT_ID, id);
+ row.add(Document.COLUMN_DISPLAY_NAME, id);
+ row.add(Document.COLUMN_SIZE, 0);
+ row.add(Document.COLUMN_MIME_TYPE, "text/plain");
+ row.add(Document.COLUMN_FLAGS, 0);
+ row.add(Document.COLUMN_LAST_MODIFIED, System.currentTimeMillis());
+ }
+
+ @Override
+ public ParcelFileDescriptor openDocument(String documentId, String mode,
+ CancellationSignal signal) throws FileNotFoundException {
+ throw new UnsupportedOperationException("Nope!");
+ }
+
+ @Override
+ public boolean onCreate() {
+ return true;
+ }
+
+}
diff --git a/tests/common/com/android/documentsui/testing/TestSearchViewManager.java b/tests/common/com/android/documentsui/testing/TestSearchViewManager.java
index 560c7838e..6d84cb9d0 100644
--- a/tests/common/com/android/documentsui/testing/TestSearchViewManager.java
+++ b/tests/common/com/android/documentsui/testing/TestSearchViewManager.java
@@ -16,6 +16,7 @@
package com.android.documentsui.testing;
+import com.android.documentsui.queries.DebugCommandProcessor;
import com.android.documentsui.queries.SearchViewManager;
/**
@@ -41,6 +42,7 @@ public class TestSearchViewManager extends SearchViewManager {
@Override
public void onSearchViewChanged(boolean opened) { }
},
+ new DebugCommandProcessor(),
null);
}
diff --git a/tests/unit/com/android/documentsui/queries/DebugCommandProcessorTest.java b/tests/unit/com/android/documentsui/queries/DebugCommandProcessorTest.java
index 2398bb242..f8139a00b 100644
--- a/tests/unit/com/android/documentsui/queries/DebugCommandProcessorTest.java
+++ b/tests/unit/com/android/documentsui/queries/DebugCommandProcessorTest.java
@@ -40,7 +40,9 @@ public final class DebugCommandProcessorTest {
public void setUp() {
mCommand0 = new TestEventHandler<>();
mCommand1 = new TestEventHandler<>();
- mProcessor = new DebugCommandProcessor(mCommand0, mCommand1);
+ mProcessor = new DebugCommandProcessor();
+ mProcessor.add(mCommand0);
+ mProcessor.add(mCommand1);
}
@Test