diff options
36 files changed, 263 insertions, 219 deletions
diff --git a/res/flag(com.android.documentsui.flags.use_material3)/drawable/grid_nameplate_background.xml b/res/flag(com.android.documentsui.flags.use_material3)/drawable/grid_nameplate_background.xml index 4a25b9a02..d88b70d71 100644 --- a/res/flag(com.android.documentsui.flags.use_material3)/drawable/grid_nameplate_background.xml +++ b/res/flag(com.android.documentsui.flags.use_material3)/drawable/grid_nameplate_background.xml @@ -16,10 +16,42 @@ <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- selected --> + <item android:state_selected="true" android:state_focused="true"> + <layer-list> + <item + android:bottom="@dimen/focus_ring_gap" + android:left="@dimen/focus_ring_gap" + android:right="@dimen/focus_ring_gap" + android:top="@dimen/focus_ring_gap"> + <shape> + <corners android:radius="@dimen/grid_item_nameplate_inner_radius" /> + <solid android:color="?attr/colorPrimaryContainer" /> + </shape> + </item> + <item> + <shape> + <corners android:radius="@dimen/grid_item_nameplate_radius" /> + <stroke + android:width="@dimen/focus_ring_width" + android:color="?attr/colorSecondary" /> + </shape> + </item> + </layer-list> + </item> <item android:state_selected="true"> <shape> <corners android:radius="@dimen/grid_item_nameplate_radius" /> <solid android:color="?attr/colorPrimaryContainer" /> </shape> </item> + + <!-- unselected --> + <item android:state_focused="true"> + <shape> + <corners android:radius="@dimen/grid_item_nameplate_radius" /> + <stroke + android:width="@dimen/focus_ring_width" + android:color="?attr/colorSecondary" /> + </shape> + </item> </selector>
\ No newline at end of file diff --git a/res/flag(com.android.documentsui.flags.use_material3)/layout/item_doc_grid.xml b/res/flag(com.android.documentsui.flags.use_material3)/layout/item_doc_grid.xml index 574978c74..f854cf5f8 100644 --- a/res/flag(com.android.documentsui.flags.use_material3)/layout/item_doc_grid.xml +++ b/res/flag(com.android.documentsui.flags.use_material3)/layout/item_doc_grid.xml @@ -14,171 +14,162 @@ limitations under the License. --> -<com.google.android.material.card.MaterialCardView - xmlns:android="http://schemas.android.com/apk/res/android" +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/item_root" android:layout_width="@dimen/grid_item_width" android:layout_height="@dimen/grid_item_height" android:layout_margin="@dimen/grid_item_layout_margin" android:clickable="true" + android:defaultFocusHighlightEnabled="false" android:focusable="true" - app:cardBackgroundColor="@android:color/transparent" - app:cardElevation="0dp" - app:strokeWidth="0dp"> - - <RelativeLayout - android:id="@+id/grid_item_layout" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginStart="@dimen/grid_item_layout_marginStart" - android:layout_marginEnd="@dimen/grid_item_layout_marginEnd" - android:layout_marginTop="@dimen/grid_item_layout_marginTop"> - - <!-- Main item thumbnail. Comprised of two overlapping images, the - visibility of which is controlled by code in - DirectoryFragment.java. --> - - <FrameLayout - android:id="@+id/thumbnail" - android:layout_width="@dimen/grid_item_thumbnail_width" - android:layout_height="@dimen/grid_item_thumbnail_height" - android:layout_centerHorizontal="true" - android:background="@drawable/grid_thumbnail_background"> - - <!-- stroke width will be controlled dynamically in the code. --> - <com.google.android.material.card.MaterialCardView - android:id="@+id/icon_wrapper" - android:layout_width="@dimen/grid_item_icon_width" - android:layout_height="@dimen/grid_item_icon_height" + android:paddingEnd="@dimen/grid_item_padding_end" + android:paddingStart="@dimen/grid_item_padding_start" + android:paddingTop="@dimen/grid_item_padding_top"> + +<!-- Main item thumbnail. Comprised of two overlapping images, the + visibility of which is controlled by code in + DirectoryFragment.java. --> + + <FrameLayout + android:id="@+id/thumbnail" + android:layout_width="@dimen/grid_item_thumbnail_width" + android:layout_height="@dimen/grid_item_thumbnail_height" + android:layout_centerHorizontal="true" + android:background="@drawable/grid_thumbnail_background"> + + <!-- stroke width will be controlled dynamically in the code. --> + <com.google.android.material.card.MaterialCardView + android:id="@+id/icon_wrapper" + android:layout_width="@dimen/grid_item_icon_width" + android:layout_height="@dimen/grid_item_icon_height" + android:layout_gravity="center" + app:cardBackgroundColor="?attr/colorSurfaceContainerLowest" + app:cardElevation="0dp" + app:strokeColor="?attr/colorSecondaryContainer" + app:strokeWidth="0dp"> + + <com.android.documentsui.GridItemThumbnail + android:id="@+id/icon_thumb" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:contentDescription="@null" + android:scaleType="centerCrop" + android:tint="?attr/gridItemTint" + android:tintMode="src_over" /> + + <com.android.documentsui.GridItemThumbnail + android:id="@+id/icon_mime_lg" + android:layout_width="@dimen/icon_size" + android:layout_height="@dimen/icon_size" android:layout_gravity="center" - app:cardBackgroundColor="?attr/colorSurfaceContainerLowest" - app:cardElevation="0dp" - app:strokeColor="?attr/colorSecondaryContainer" - app:strokeWidth="0dp"> - - <com.android.documentsui.GridItemThumbnail - android:id="@+id/icon_thumb" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:contentDescription="@null" - android:scaleType="centerCrop" - android:tint="?attr/gridItemTint" - android:tintMode="src_over" /> - - <com.android.documentsui.GridItemThumbnail - android:id="@+id/icon_mime_lg" - android:layout_width="@dimen/icon_size" - android:layout_height="@dimen/icon_size" - android:layout_gravity="center" - android:contentDescription="@null" - android:scaleType="fitCenter" /> - - </com.google.android.material.card.MaterialCardView> - - </FrameLayout> - - <FrameLayout - android:id="@+id/preview_icon" - android:layout_width="@dimen/button_touch_size" - android:layout_height="@dimen/button_touch_size" - android:layout_alignParentEnd="true" - android:layout_alignParentTop="true" - android:clickable="true" - android:focusable="true" - android:pointerIcon="hand"> + android:contentDescription="@null" + android:scaleType="fitCenter" /> + + </com.google.android.material.card.MaterialCardView> + + </FrameLayout> + + <FrameLayout + android:id="@+id/preview_icon" + android:layout_width="@dimen/button_touch_size" + android:layout_height="@dimen/button_touch_size" + android:layout_alignParentEnd="true" + android:layout_alignParentTop="true" + android:clickable="true" + android:focusable="true" + android:pointerIcon="hand"> + + <ImageView + android:layout_width="@dimen/zoom_icon_size" + android:layout_height="@dimen/zoom_icon_size" + android:layout_gravity="center" + android:background="@drawable/circle_button_background" + android:padding="2dp" + android:scaleType="fitCenter" + android:src="@drawable/ic_zoom_out" /> + + </FrameLayout> + + <!-- Item nameplate. Has some text fields (title, size, mod-time, etc). --> + + <LinearLayout + android:id="@+id/nameplate" + android:layout_width="@dimen/grid_item_nameplate_width" + android:layout_height="@dimen/grid_item_nameplate_height" + android:layout_below="@id/thumbnail" + android:layout_marginTop="@dimen/grid_item_nameplate_marginTop" + android:background="@drawable/grid_nameplate_background" + android:orientation="vertical" + android:duplicateParentState="true" + android:padding="@dimen/grid_item_nameplate_padding"> + + <!-- Top row. --> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:gravity="center" + android:orientation="horizontal"> <ImageView - android:layout_width="@dimen/zoom_icon_size" - android:layout_height="@dimen/zoom_icon_size" - android:layout_gravity="center" - android:background="@drawable/circle_button_background" - android:padding="2dp" - android:scaleType="fitCenter" - android:src="@drawable/ic_zoom_out" /> - - </FrameLayout> + android:id="@+id/icon_profile_badge" + android:layout_width="@dimen/briefcase_icon_size" + android:layout_height="@dimen/briefcase_icon_size" + android:layout_marginEnd="@dimen/briefcase_icon_margin" + android:contentDescription="@string/a11y_work" + android:gravity="center_vertical" + android:src="@drawable/ic_briefcase" + android:tint="?android:attr/colorAccent" /> + + <TextView + android:id="@android:id/title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:ellipsize="end" + android:singleLine="true" + android:textAlignment="center" + android:textAppearance="@style/FileItemLabelText" /> - <!-- Item nameplate. Has some text fields (title, size, mod-time, etc). --> + </LinearLayout> + <!-- Bottom row. --> <LinearLayout - android:id="@+id/nameplate" - android:layout_width="@dimen/grid_item_nameplate_width" - android:layout_height="@dimen/grid_item_nameplate_height" - android:layout_below="@id/thumbnail" - android:layout_marginTop="@dimen/grid_item_nameplate_marginTop" - android:background="@drawable/grid_nameplate_background" - android:orientation="vertical" - android:padding="@dimen/grid_item_nameplate_padding"> - - <!-- Top row. --> - <LinearLayout - android:layout_width="match_parent" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:gravity="center" + android:orientation="horizontal"> + + <TextView + android:id="@+id/details" + android:layout_width="wrap_content" android:layout_height="wrap_content" - android:gravity="center" - android:orientation="horizontal"> - - <ImageView - android:id="@+id/icon_profile_badge" - android:layout_width="@dimen/briefcase_icon_size" - android:layout_height="@dimen/briefcase_icon_size" - android:layout_marginEnd="@dimen/briefcase_icon_margin" - android:contentDescription="@string/a11y_work" - android:gravity="center_vertical" - android:src="@drawable/ic_briefcase" - android:tint="?android:attr/colorAccent" /> - - <TextView - android:id="@android:id/title" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:ellipsize="end" - android:singleLine="true" - android:textAlignment="center" - android:textAppearance="@style/FileItemLabelText" /> - - </LinearLayout> - - <!-- Bottom row. --> - <LinearLayout - android:layout_width="match_parent" + android:layout_marginEnd="4dp" + android:ellipsize="end" + android:singleLine="true" + android:textAlignment="viewStart" + android:textAppearance="@style/ItemCaptionText" /> + + <TextView + android:id="@+id/bullet" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginEnd="4dp" + android:singleLine="true" + android:text="@string/bullet" + android:textAlignment="viewStart" + android:textAppearance="@style/ItemCaptionText" /> + + <TextView + android:id="@+id/date" + android:layout_width="wrap_content" android:layout_height="wrap_content" - android:gravity="center" - android:orientation="horizontal"> - - <TextView - android:id="@+id/details" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginEnd="4dp" - android:ellipsize="end" - android:singleLine="true" - android:textAlignment="viewStart" - android:textAppearance="@style/ItemCaptionText" /> - - <TextView - android:id="@+id/bullet" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginEnd="4dp" - android:singleLine="true" - android:text="@string/bullet" - android:textAlignment="viewStart" - android:textAppearance="@style/ItemCaptionText" /> - - <TextView - android:id="@+id/date" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:ellipsize="end" - android:singleLine="true" - android:textAlignment="viewStart" - android:textAppearance="@style/ItemCaptionText" /> - - </LinearLayout> + android:ellipsize="end" + android:singleLine="true" + android:textAlignment="viewStart" + android:textAppearance="@style/ItemCaptionText" /> </LinearLayout> - </RelativeLayout> + </LinearLayout> -</com.google.android.material.card.MaterialCardView> +</RelativeLayout>
\ No newline at end of file diff --git a/res/flag(com.android.documentsui.flags.use_material3)/values/dimens.xml b/res/flag(com.android.documentsui.flags.use_material3)/values/dimens.xml index 6735c715b..0e532d39a 100644 --- a/res/flag(com.android.documentsui.flags.use_material3)/values/dimens.xml +++ b/res/flag(com.android.documentsui.flags.use_material3)/values/dimens.xml @@ -64,9 +64,9 @@ <dimen name="drag_shadow_size">120dp</dimen> <dimen name="grid_item_width">150dp</dimen> <dimen name="grid_item_height">132dp</dimen> - <dimen name="grid_item_layout_marginStart">@dimen/space_extra_small_2</dimen> - <dimen name="grid_item_layout_marginEnd">@dimen/space_extra_small_2</dimen> - <dimen name="grid_item_layout_marginTop">@dimen/space_extra_small_2</dimen> + <dimen name="grid_item_padding_start">@dimen/space_extra_small_2</dimen> + <dimen name="grid_item_padding_end">@dimen/space_extra_small_2</dimen> + <dimen name="grid_item_padding_top">@dimen/space_extra_small_2</dimen> <dimen name="grid_item_thumbnail_width">80dp</dimen> <dimen name="grid_item_thumbnail_height">80dp</dimen> <dimen name="grid_item_thumbnail_radius">12dp</dimen> @@ -78,6 +78,7 @@ <dimen name="grid_item_nameplate_padding">4dp</dimen> <dimen name="grid_item_nameplate_marginTop">@dimen/space_extra_small_2</dimen> <dimen name="grid_item_nameplate_radius">8dp</dimen> + <dimen name="grid_item_nameplate_inner_radius">4dp</dimen> <dimen name="grid_item_elevation">2dp</dimen> <dimen name="grid_item_radius">12dp</dimen> <dimen name="max_drawer_width">280dp</dimen> diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml index 1984af705..c4c27d5a1 100644 --- a/res/values-b+sr+Latn/strings.xml +++ b/res/values-b+sr+Latn/strings.xml @@ -18,7 +18,7 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="missing_rename_error" msgid="9098952207447981103">"Morate da preimenujete ovo"</string> <string name="add_folder_name_error" msgid="6014615052491406810">"Morate da dodate naziv foldera"</string> - <string name="files_label" msgid="771781190045103748">"Datoteke"</string> + <string name="files_label" msgid="771781190045103748">"Fajlovi"</string> <string name="downloads_label" msgid="5462789470049501103">"Preuzimanja"</string> <!-- no translation found for app_label (8089292432455111409) --> <skip /> @@ -272,7 +272,7 @@ <item quantity="other">Izabrano je <xliff:g id="COUNT_1">%1$d</xliff:g> stavki</item> </plurals> <string name="root_info_header_recent" msgid="5654901877295332262">"Nedavne datoteke"</string> - <string name="root_info_header_global_search" msgid="4904078222280496152">"Datoteke"</string> + <string name="root_info_header_global_search" msgid="4904078222280496152">"Fajlovi"</string> <string name="root_info_header_downloads" msgid="8848161246921154115">"Datoteke u Preuzimanjima"</string> <string name="root_info_header_storage" msgid="2989014130584927442">"Datoteke na uređaju <xliff:g id="DEVICE">%1$s</xliff:g>"</string> <string name="root_info_header_folder" msgid="5851172222368049864">"Datoteke u folderu <xliff:g id="FOLDER">%1$s</xliff:g>"</string> diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index d73d376fa..8d1511d9d 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"Не можете да местите файлове от друго приложение."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Показва се в табличен изглед."</string> <string name="list_mode_showing" msgid="1225413902295895166">"Показва се в списъчен изглед."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml index 477944a51..dee03702a 100644 --- a/res/values-en-rAU/strings.xml +++ b/res/values-en-rAU/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"You can’t move files from another app."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Showing in grid mode."</string> <string name="list_mode_showing" msgid="1225413902295895166">"Showing in list mode."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index 477944a51..dee03702a 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"You can’t move files from another app."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Showing in grid mode."</string> <string name="list_mode_showing" msgid="1225413902295895166">"Showing in list mode."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml index 477944a51..dee03702a 100644 --- a/res/values-en-rIN/strings.xml +++ b/res/values-en-rIN/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"You can’t move files from another app."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Showing in grid mode."</string> <string name="list_mode_showing" msgid="1225413902295895166">"Showing in list mode."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index 09b071f76..51c818867 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -312,6 +312,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"No puedes transferir archivos de otra app."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Se muestra en modo de cuadrícula."</string> <string name="list_mode_showing" msgid="1225413902295895166">"Se muestra en modo de lista."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index 1f3c0e261..abbd986c4 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"نمیتوانید فایلها را از برنامه دیگری انتقال دهید."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"نمایش در حالت جدولی."</string> <string name="list_mode_showing" msgid="1225413902295895166">"نمایش در حالت فهرست."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index 22031245e..abb2f65bf 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -312,6 +312,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"Vous ne pouvez pas déplacer de fichiers d\'une autre appli."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Affichage en mode grille."</string> <string name="list_mode_showing" msgid="1225413902295895166">"Affichage en mode liste."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index db82943b7..3a75d0d43 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"Nem lehet áthelyezni fájlokat más alkalmazásból."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Megjelenítés rácsnézetben."</string> <string name="list_mode_showing" msgid="1225413902295895166">"Megjelenítés listanézetben."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml index 9cf0e2a60..35614487e 100644 --- a/res/values-hy/strings.xml +++ b/res/values-hy/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"Դուք չեք կարող տեղափոխել ֆայլեր այլ հավելվածից։"</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Ցուցադրվում է ցանցի տեսքով։"</string> <string name="list_mode_showing" msgid="1225413902295895166">"Ցուցադրվում է ցանկի տեսքով։"</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml index 4ec26ccb4..b2601a646 100644 --- a/res/values-is/strings.xml +++ b/res/values-is/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"Ekki er hægt að færa skrár úr öðru forriti."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Sýnir töfluyfirlit."</string> <string name="list_mode_showing" msgid="1225413902295895166">"Sýnir listayfirlit."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 4ce7438fc..bdc34e292 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -312,6 +312,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"Impossibile spostare file da un\'altra app."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Visualizzazione in modalità griglia."</string> <string name="list_mode_showing" msgid="1225413902295895166">"Visualizzazione in modalità elenco."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index aeb7992f6..ea620497e 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"別のアプリからファイルを移動することはできません。"</string> <string name="grid_mode_showing" msgid="2803166871485028508">"グリッドモードで表示しています。"</string> <string name="list_mode_showing" msgid="1225413902295895166">"リストモードで表示しています。"</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml index 592103f84..b7c2b9cc4 100644 --- a/res/values-ka/strings.xml +++ b/res/values-ka/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"ფაილების სხვა აპიდან გადმოტანა შეუძლებელია."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"ნაჩვენებია ბადის რეჟიმში."</string> <string name="list_mode_showing" msgid="1225413902295895166">"ნაჩვენებია სიის რეჟიმში."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml index 47bb3985d..1b888d68b 100644 --- a/res/values-kn/strings.xml +++ b/res/values-kn/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"ನೀವು ಬೇರೊಂದು ಆ್ಯಪ್ನಿಂದ ಫೈಲ್ಗಳನ್ನು ಸರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"ಗ್ರಿಡ್ ಮೋಡ್ನಲ್ಲಿ ತೋರಿಸಲಾಗುತ್ತಿದೆ."</string> <string name="list_mode_showing" msgid="1225413902295895166">"ಪಟ್ಟಿ ಮೋಡ್ನಲ್ಲಿ ತೋರಿಸಲಾಗುತ್ತಿದೆ."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml index 3853ecbf7..e3d153495 100644 --- a/res/values-ky/strings.xml +++ b/res/values-ky/strings.xml @@ -110,7 +110,7 @@ <string name="cant_save_to_cross_profile_error_title" msgid="5158984057654779022">"<xliff:g id="PROFILE">%1$s</xliff:g> профилине сактоого болбойт"</string> <string name="cant_save_to_cross_profile_error_message" msgid="5845240315510422749">"IT администратору <xliff:g id="PROFILE_0">%1$s</xliff:g> файлдарын <xliff:g id="PROFILE_1">%2$s</xliff:g> профилине сактоого тыюу салды"</string> <string name="cross_profile_action_not_allowed_title" msgid="6611281348716476478">"Бул аракетке уруксат жок"</string> - <string name="cross_profile_action_not_allowed_message" msgid="7331275433061690947">"Көбүрөөк маалымат үчүн, IT администраторуңузга кайрылыңыз"</string> + <string name="cross_profile_action_not_allowed_message" msgid="7331275433061690947">"Кененирээк маалымат алгыңыз келсе, IT администраторуңузга кайрылыңыз"</string> <string name="root_recent" msgid="1080156975424341623">"Акыркы"</string> <string name="root_available_bytes" msgid="8269870862691408864">"<xliff:g id="SIZE">%1$s</xliff:g> бош"</string> <string name="root_type_service" msgid="6521366147466512289">"Сактагыч кызматтар"</string> @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"Башка колдонмодогу файлдарды жылдырууга болбойт."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Торчо режиминде көрсөтүлүүдө."</string> <string name="list_mode_showing" msgid="1225413902295895166">"Тизме режиминде көрсөтүлүүдө."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml index 415b5469e..96a36dc79 100644 --- a/res/values-lt/strings.xml +++ b/res/values-lt/strings.xml @@ -334,6 +334,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"Negalite perkelti failų iš kitos programos."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Rodoma tinklelio režimu."</string> <string name="list_mode_showing" msgid="1225413902295895166">"Rodoma sąrašo režimu."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml index 462184507..9bebc7054 100644 --- a/res/values-ml/strings.xml +++ b/res/values-ml/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"മറ്റ് ആപ്പിൽ നിന്ന് ഫയലുകൾ നീക്കാൻ നിങ്ങൾക്ക് കഴിയില്ല."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"ഗ്രിഡ് മോഡിൽ കാണിക്കുന്നു."</string> <string name="list_mode_showing" msgid="1225413902295895166">"ലിസ്റ്റ് മോഡിൽ കാണിക്കുന്നു."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index f9a0238b3..2cfa00bc9 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -312,6 +312,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"Não pode mover ficheiros de outra app."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"A mostrar no modo de grelha…"</string> <string name="list_mode_showing" msgid="1225413902295895166">"A mostrar no modo de lista…"</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index e73cc5f0f..d3fccc33a 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -334,6 +334,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"Nemôžete presúvať súbory z inej aplikácie."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Zobrazované v režime mriežky."</string> <string name="list_mode_showing" msgid="1225413902295895166">"Zobrazované v režime zoznamu."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index 40430030b..a854c66bd 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -334,6 +334,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"Datotek iz druge aplikacije ni mogoče premakniti."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Prikazano v načinu mreže"</string> <string name="list_mode_showing" msgid="1225413902295895166">"Prikazano v načinu seznama"</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index 035bdf97d..6d2a833b5 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -18,7 +18,7 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="missing_rename_error" msgid="9098952207447981103">"Морате да преименујете ово"</string> <string name="add_folder_name_error" msgid="6014615052491406810">"Морате да додате назив фолдера"</string> - <string name="files_label" msgid="771781190045103748">"Датотеке"</string> + <string name="files_label" msgid="771781190045103748">"Фајлови"</string> <string name="downloads_label" msgid="5462789470049501103">"Преузимања"</string> <!-- no translation found for app_label (8089292432455111409) --> <skip /> @@ -272,7 +272,7 @@ <item quantity="other">Изабрано је <xliff:g id="COUNT_1">%1$d</xliff:g> ставки</item> </plurals> <string name="root_info_header_recent" msgid="5654901877295332262">"Недавне датотеке"</string> - <string name="root_info_header_global_search" msgid="4904078222280496152">"Датотеке"</string> + <string name="root_info_header_global_search" msgid="4904078222280496152">"Фајлови"</string> <string name="root_info_header_downloads" msgid="8848161246921154115">"Датотеке у Преузимањима"</string> <string name="root_info_header_storage" msgid="2989014130584927442">"Датотеке на уређају <xliff:g id="DEVICE">%1$s</xliff:g>"</string> <string name="root_info_header_folder" msgid="5851172222368049864">"Датотеке у фолдеру <xliff:g id="FOLDER">%1$s</xliff:g>"</string> diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index 0040eaa36..d8335b387 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"Du kan inte flytta filer från en annan app."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Visas i rutnätsläge."</string> <string name="list_mode_showing" msgid="1225413902295895166">"Visas i listläge."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index 178a14435..b3e0b150d 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"మీరు వేరే ఇతర యాప్ నుండి ఫైల్స్ను తరలించలేరు."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"గ్రిడ్ మోడ్లో చూపుతోంది."</string> <string name="list_mode_showing" msgid="1225413902295895166">"లిస్ట్ మోడ్లో చూపుతోంది."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml index 6fdee1ef1..57eb082a1 100644 --- a/res/values-th/strings.xml +++ b/res/values-th/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"คุณย้ายไฟล์จากแอปอื่นไม่ได้"</string> <string name="grid_mode_showing" msgid="2803166871485028508">"กำลังแสดงในโหมดตารางกริด"</string> <string name="list_mode_showing" msgid="1225413902295895166">"กำลังแสดงในโหมดรายการ"</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml index a834e85d6..e0720d6a4 100644 --- a/res/values-tl/strings.xml +++ b/res/values-tl/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"Hindi ka makakapaglipat ng mga file mula sa ibang app."</string> <string name="grid_mode_showing" msgid="2803166871485028508">"Ipinapakita sa grid mode."</string> <string name="list_mode_showing" msgid="1225413902295895166">"Ipinapakita sa list mode."</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml index 8e18775b3..ce88831f5 100644 --- a/res/values-ur/strings.xml +++ b/res/values-ur/strings.xml @@ -290,6 +290,5 @@ <string name="drag_from_another_app" msgid="8310249276199969905">"آپ کسی اور ایپ سے فائلیں منتقل نہیں کر سکتے ہیں۔"</string> <string name="grid_mode_showing" msgid="2803166871485028508">"گرڈ وضع میں دکھائی جا رہی ہیں۔"</string> <string name="list_mode_showing" msgid="1225413902295895166">"فہرست وضع میں دکھائی جا رہی ہیں۔"</string> - <!-- no translation found for bullet (5606740650312122766) --> - <skip /> + <string name="bullet" msgid="5606740650312122766">"•"</string> </resources> diff --git a/src/com/android/documentsui/MenuManager.java b/src/com/android/documentsui/MenuManager.java index 5f17d7e02..eb4f98aab 100644 --- a/src/com/android/documentsui/MenuManager.java +++ b/src/com/android/documentsui/MenuManager.java @@ -25,6 +25,7 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; +import androidx.annotation.NonNull; import androidx.annotation.VisibleForTesting; import androidx.fragment.app.Fragment; @@ -183,6 +184,11 @@ public abstract class MenuManager { updateRename(rename, selectionDetails); updateViewInOwner(viewInOwner, selectionDetails); + if (isZipNgFlagEnabled()) { + updateExtractHere(menu.findItem(R.id.dir_menu_extract_here), selectionDetails); + updateBrowse(menu.findItem(R.id.dir_menu_browse), selectionDetails); + } + updateContextMenu(menu, selectionDetails); } @@ -383,6 +389,14 @@ public abstract class MenuManager { Menus.setEnabledAndVisible(extractTo, false); } + protected void updateExtractHere(@NonNull MenuItem it, SelectionDetails selection) { + Menus.setEnabledAndVisible(it, false); + } + + protected void updateBrowse(@NonNull MenuItem it, SelectionDetails selection) { + Menus.setEnabledAndVisible(it, false); + } + protected void updatePasteInto(MenuItem pasteInto, SelectionDetails selectionDetails) { Menus.setEnabledAndVisible(pasteInto, false); } diff --git a/src/com/android/documentsui/util/FlagUtils.kt b/src/com/android/documentsui/util/FlagUtils.kt index eee51be89..22febc317 100644 --- a/src/com/android/documentsui/util/FlagUtils.kt +++ b/src/com/android/documentsui/util/FlagUtils.kt @@ -31,7 +31,7 @@ class FlagUtils { @JvmStatic fun isZipNgFlagEnabled(): Boolean { - return Flags.zipNgRo() + return Flags.zipNgRo() && Flags.useMaterial3() } @JvmStatic diff --git a/tests/common/com/android/documentsui/testing/TestMenu.java b/tests/common/com/android/documentsui/testing/TestMenu.java index 9795fd373..a97e46e5d 100644 --- a/tests/common/com/android/documentsui/testing/TestMenu.java +++ b/tests/common/com/android/documentsui/testing/TestMenu.java @@ -26,7 +26,6 @@ import com.android.documentsui.R; import org.mockito.Mockito; /** - * * Test copy of {@link android.view.Menu}. * * We use abstract so we don't have to implement all the necessary methods from the interface, @@ -55,6 +54,8 @@ public abstract class TestMenu implements Menu { R.id.dir_menu_paste_into_folder, R.id.dir_menu_inspect, R.id.dir_menu_open_in_new_window, + R.id.dir_menu_extract_here, + R.id.dir_menu_browse, R.id.root_menu_eject_root, R.id.root_menu_open_in_new_window, R.id.root_menu_paste_into_folder, @@ -89,7 +90,6 @@ public abstract class TestMenu implements Menu { } - public static TestMenu create(int... ids) { final TestMenu menu = Mockito.mock(TestMenu.class, Mockito.withSettings().defaultAnswer(Mockito.CALLS_REAL_METHODS)); @@ -103,7 +103,8 @@ public abstract class TestMenu implements Menu { item.setActionView(Mockito.mock(SearchView.class)); } - if (id == R.id.option_menu_extract_all) { + if (id == R.id.option_menu_extract_all || id == R.id.dir_menu_extract_here + || id == R.id.dir_menu_browse) { item.setEnabled(false); item.setVisible(false); } diff --git a/tests/common/com/android/documentsui/testing/TestMenuItem.java b/tests/common/com/android/documentsui/testing/TestMenuItem.java index 97ac602db..5463237b2 100644 --- a/tests/common/com/android/documentsui/testing/TestMenuItem.java +++ b/tests/common/com/android/documentsui/testing/TestMenuItem.java @@ -27,14 +27,12 @@ import androidx.annotation.StringRes; import org.mockito.Mockito; /** -* -* Test copy of {@link android.view.MenuItem}. -* -* We use abstract so we don't have to implement all the necessary methods from the interface, -* and we use Mockito to just mock out the methods we need. -* To get an instance, use {@link #create(int)}. -*/ - + * Test copy of {@link android.view.MenuItem}. + * + * We use abstract so we don't have to implement all the necessary methods from the interface, + * and we use Mockito to just mock out the methods we need. + * To get an instance, use {@link #create(int)}. + */ public abstract class TestMenuItem implements MenuItem { boolean enabled; diff --git a/tests/unit/com/android/documentsui/files/MenuManagerTest.java b/tests/unit/com/android/documentsui/files/MenuManagerTest.java index ac7b1c4f7..2239dd4fb 100644 --- a/tests/unit/com/android/documentsui/files/MenuManagerTest.java +++ b/tests/unit/com/android/documentsui/files/MenuManagerTest.java @@ -79,6 +79,8 @@ public final class MenuManagerTest { private TestMenuItem dirPasteIntoFolder; private TestMenuItem dirInspect; private TestMenuItem dirOpenInNewWindow; + private TestMenuItem mDirExtractHere; + private TestMenuItem mDirBrowse; /* Root List Context Menu items */ private TestMenuItem rootEjectRoot; @@ -156,6 +158,8 @@ public final class MenuManagerTest { dirPasteIntoFolder = testMenu.findItem(R.id.dir_menu_paste_into_folder); dirInspect = testMenu.findItem(R.id.dir_menu_inspect); dirOpenInNewWindow = testMenu.findItem(R.id.dir_menu_open_in_new_window); + mDirExtractHere = testMenu.findItem(R.id.dir_menu_extract_here); + mDirBrowse = testMenu.findItem(R.id.dir_menu_browse); rootEjectRoot = testMenu.findItem(R.id.root_menu_eject_root); rootOpenInNewWindow = testMenu.findItem(R.id.root_menu_open_in_new_window); @@ -545,6 +549,8 @@ public final class MenuManagerTest { mDirDeselectAll.assertDisabledAndInvisible(); dirPasteFromClipboard.assertDisabledAndInvisible(); dirCreateDir.assertDisabledAndInvisible(); + mDirExtractHere.assertDisabledAndInvisible(); + mDirBrowse.assertDisabledAndInvisible(); } @Test @@ -616,6 +622,8 @@ public final class MenuManagerTest { dirRename.assertDisabledAndInvisible(); dirCreateDir.assertEnabledAndVisible(); dirDelete.assertDisabledAndInvisible(); + mDirExtractHere.assertDisabledAndInvisible(); + mDirBrowse.assertDisabledAndInvisible(); } @Test diff --git a/tests/unit/com/android/documentsui/picker/MenuManagerTest.java b/tests/unit/com/android/documentsui/picker/MenuManagerTest.java index 266489d61..485073128 100644 --- a/tests/unit/com/android/documentsui/picker/MenuManagerTest.java +++ b/tests/unit/com/android/documentsui/picker/MenuManagerTest.java @@ -70,6 +70,8 @@ public final class MenuManagerTest { private TestMenuItem dirViewInOwner; private TestMenuItem dirOpenInNewWindow; private TestMenuItem dirPasteIntoFolder; + private TestMenuItem mDirExtractHere; + private TestMenuItem mDirBrowse; /* Root List Context Menu items */ private TestMenuItem rootEjectRoot; @@ -136,6 +138,8 @@ public final class MenuManagerTest { dirViewInOwner = testMenu.findItem(R.id.dir_menu_view_in_owner); dirOpenInNewWindow = testMenu.findItem(R.id.dir_menu_open_in_new_window); dirPasteIntoFolder = testMenu.findItem(R.id.dir_menu_paste_into_folder); + mDirExtractHere = testMenu.findItem(R.id.dir_menu_extract_here); + mDirBrowse = testMenu.findItem(R.id.dir_menu_browse); rootEjectRoot = testMenu.findItem(R.id.root_menu_eject_root); rootOpenInNewWindow = testMenu.findItem(R.id.root_menu_open_in_new_window); @@ -351,6 +355,8 @@ public final class MenuManagerTest { mDirDeselectAll.assertDisabledAndInvisible(); dirPasteFromClipboard.assertDisabledAndInvisible(); dirCreateDir.assertDisabledAndInvisible(); + mDirExtractHere.assertDisabledAndInvisible(); + mDirBrowse.assertDisabledAndInvisible(); } @Test @@ -363,6 +369,8 @@ public final class MenuManagerTest { dirSelectAll.assertEnabledAndVisible(); dirPasteFromClipboard.assertDisabledAndInvisible(); dirCreateDir.assertDisabledAndInvisible(); + mDirExtractHere.assertDisabledAndInvisible(); + mDirBrowse.assertDisabledAndInvisible(); } @Test @@ -375,6 +383,8 @@ public final class MenuManagerTest { dirSelectAll.assertEnabledAndVisible(); dirPasteFromClipboard.assertDisabledAndInvisible(); dirCreateDir.assertDisabledAndInvisible(); + mDirExtractHere.assertDisabledAndInvisible(); + mDirBrowse.assertDisabledAndInvisible(); } @Test @@ -387,6 +397,8 @@ public final class MenuManagerTest { dirSelectAll.assertEnabledAndVisible(); dirPasteFromClipboard.assertEnabledAndVisible(); dirCreateDir.assertDisabledAndInvisible(); + mDirExtractHere.assertDisabledAndInvisible(); + mDirBrowse.assertDisabledAndInvisible(); } @Test @@ -398,6 +410,8 @@ public final class MenuManagerTest { dirSelectAll.assertEnabledAndVisible(); dirPasteFromClipboard.assertDisabledAndInvisible(); dirCreateDir.assertEnabledAndVisible(); + mDirExtractHere.assertDisabledAndInvisible(); + mDirBrowse.assertDisabledAndInvisible(); } @Test @@ -423,6 +437,8 @@ public final class MenuManagerTest { mDirCompress.assertDisabledAndInvisible(); dirRename.assertDisabledAndInvisible(); dirDelete.assertDisabledAndInvisible(); + mDirExtractHere.assertDisabledAndInvisible(); + mDirBrowse.assertDisabledAndInvisible(); } @Test @@ -438,6 +454,8 @@ public final class MenuManagerTest { dirPasteIntoFolder.assertDisabledAndInvisible(); dirRename.assertDisabledAndInvisible(); dirDelete.assertDisabledAndInvisible(); + mDirExtractHere.assertDisabledAndInvisible(); + mDirBrowse.assertDisabledAndInvisible(); } @Test @@ -451,6 +469,8 @@ public final class MenuManagerTest { dirCopyToClipboard.assertEnabledAndVisible(); mDirCompress.assertDisabledAndInvisible(); dirDelete.assertEnabledAndVisible(); + mDirExtractHere.assertDisabledAndInvisible(); + mDirBrowse.assertDisabledAndInvisible(); } @Test @@ -465,6 +485,8 @@ public final class MenuManagerTest { dirCopyToClipboard.assertDisabledAndInvisible(); mDirCompress.assertDisabledAndInvisible(); dirDelete.assertEnabledAndVisible(); + mDirExtractHere.assertDisabledAndInvisible(); + mDirBrowse.assertDisabledAndInvisible(); } @Test @@ -478,6 +500,8 @@ public final class MenuManagerTest { dirCopyToClipboard.assertEnabledAndVisible(); mDirCompress.assertDisabledAndInvisible(); dirDelete.assertDisabledAndInvisible(); + mDirExtractHere.assertDisabledAndInvisible(); + mDirBrowse.assertDisabledAndInvisible(); } @Test |