Loading res/layout/item_photo_grid.xml +1 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,7 @@ android:pointerIcon="hand"> <ImageView android:id="@+id/icon_id" android:layout_height="@dimen/briefcase_icon_size_photo" android:layout_width="@dimen/briefcase_icon_size_photo" android:src="@drawable/ic_briefcase_white" Loading src/com/android/documentsui/ProfileTabs.java +9 −4 Original line number Diff line number Diff line Loading @@ -163,10 +163,15 @@ public class ProfileTabs implements ProfileTabsAddons { } private String getEnterpriseString(String updatableStringId, int defaultStringId) { if (VersionUtils.isAtLeastT()) { DevicePolicyManager dpm = mTabsContainer.getContext().getSystemService( DevicePolicyManager.class); return dpm.getString( updatableStringId, () -> mTabsContainer.getContext().getString(defaultStringId)); updatableStringId, () -> mTabsContainer.getContext().getString(defaultStringId)); } else { return mTabsContainer.getContext().getString(defaultStringId); } } /** Loading src/com/android/documentsui/dirlist/DocumentHolder.java +15 −7 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.android.documentsui.R; import com.android.documentsui.base.Shared; import com.android.documentsui.base.State; import com.android.documentsui.util.VersionUtils; import java.util.function.Function; Loading Loading @@ -177,13 +178,20 @@ public abstract class DocumentHolder } protected String getPreviewIconContentDescription(boolean isWorkProfile, String fileName) { DevicePolicyManager dpm = itemView.getContext().getSystemService(DevicePolicyManager.class); if (VersionUtils.isAtLeastT()) { DevicePolicyManager dpm = itemView.getContext().getSystemService( DevicePolicyManager.class); String updatableStringId = isWorkProfile ? PREVIEW_WORK_FILE_ACCESSIBILITY : UNDEFINED; int defaultStringId = isWorkProfile ? R.string.preview_work_file : R.string.preview_file; int defaultStringId = isWorkProfile ? R.string.preview_work_file : R.string.preview_file; return dpm.getString( updatableStringId, () -> itemView.getResources().getString(defaultStringId, fileName), /* formatArgs= */ fileName); } else { return itemView.getResources().getString( isWorkProfile ? R.string.preview_work_file : R.string.preview_file, fileName); } } protected static class PreviewAccessibilityDelegate extends View.AccessibilityDelegate { Loading src/com/android/documentsui/dirlist/GridDirectoryHolder.java +21 −0 Original line number Diff line number Diff line Loading @@ -16,10 +16,16 @@ package com.android.documentsui.dirlist; import static android.app.admin.DevicePolicyResources.Drawables.Style.SOLID_COLORED; import static android.app.admin.DevicePolicyResources.Drawables.WORK_PROFILE_ICON; import static com.android.documentsui.base.DocumentInfo.getCursorString; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.database.Cursor; import android.graphics.drawable.Drawable; import android.os.Build; import android.provider.DocumentsContract; import android.provider.DocumentsContract.Document; import android.view.MotionEvent; Loading @@ -28,10 +34,13 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.RequiresApi; import com.android.documentsui.IconUtils; import com.android.documentsui.R; import com.android.documentsui.base.State; import com.android.documentsui.ui.Views; import com.android.documentsui.util.VersionUtils; final class GridDirectoryHolder extends DocumentHolder { Loading @@ -52,6 +61,18 @@ final class GridDirectoryHolder extends DocumentHolder { mIconBriefcase = (ImageView) itemView.findViewById(R.id.icon_briefcase); mIconMime.setImageDrawable( IconUtils.loadMimeIcon(context, DocumentsContract.Document.MIME_TYPE_DIR)); if (VersionUtils.isAtLeastT()) { setUpdatableWorkProfileIcon(context); } } @RequiresApi(Build.VERSION_CODES.TIRAMISU) private void setUpdatableWorkProfileIcon(Context context) { DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class); Drawable drawable = dpm.getDrawable(WORK_PROFILE_ICON, SOLID_COLORED, () -> context.getDrawable(R.drawable.ic_briefcase)); mIconBriefcase.setImageDrawable(drawable); } @Override Loading src/com/android/documentsui/dirlist/GridDocumentHolder.java +21 −0 Original line number Diff line number Diff line Loading @@ -16,12 +16,18 @@ package com.android.documentsui.dirlist; import static android.app.admin.DevicePolicyResources.Drawables.Style.SOLID_COLORED; import static android.app.admin.DevicePolicyResources.Drawables.WORK_PROFILE_ICON; import static com.android.documentsui.base.DocumentInfo.getCursorInt; import static com.android.documentsui.base.DocumentInfo.getCursorLong; import static com.android.documentsui.base.DocumentInfo.getCursorString; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.database.Cursor; import android.graphics.drawable.Drawable; import android.os.Build; import android.provider.DocumentsContract.Document; import android.text.format.Formatter; import android.view.MotionEvent; Loading @@ -30,12 +36,15 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.RequiresApi; import com.android.documentsui.R; import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.base.Shared; import com.android.documentsui.base.UserId; import com.android.documentsui.roots.RootCursorWrapper; import com.android.documentsui.ui.Views; import com.android.documentsui.util.VersionUtils; import java.util.function.Function; Loading Loading @@ -71,6 +80,18 @@ final class GridDocumentHolder extends DocumentHolder { mPreviewIcon = itemView.findViewById(R.id.preview_icon); mIconHelper = iconHelper; if (VersionUtils.isAtLeastT()) { setUpdatableWorkProfileIcon(context); } } @RequiresApi(Build.VERSION_CODES.TIRAMISU) private void setUpdatableWorkProfileIcon(Context context) { DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class); Drawable drawable = dpm.getDrawable(WORK_PROFILE_ICON, SOLID_COLORED, () -> context.getDrawable(R.drawable.ic_briefcase)); mIconBriefcase.setImageDrawable(drawable); } @Override Loading Loading
res/layout/item_photo_grid.xml +1 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,7 @@ android:pointerIcon="hand"> <ImageView android:id="@+id/icon_id" android:layout_height="@dimen/briefcase_icon_size_photo" android:layout_width="@dimen/briefcase_icon_size_photo" android:src="@drawable/ic_briefcase_white" Loading
src/com/android/documentsui/ProfileTabs.java +9 −4 Original line number Diff line number Diff line Loading @@ -163,10 +163,15 @@ public class ProfileTabs implements ProfileTabsAddons { } private String getEnterpriseString(String updatableStringId, int defaultStringId) { if (VersionUtils.isAtLeastT()) { DevicePolicyManager dpm = mTabsContainer.getContext().getSystemService( DevicePolicyManager.class); return dpm.getString( updatableStringId, () -> mTabsContainer.getContext().getString(defaultStringId)); updatableStringId, () -> mTabsContainer.getContext().getString(defaultStringId)); } else { return mTabsContainer.getContext().getString(defaultStringId); } } /** Loading
src/com/android/documentsui/dirlist/DocumentHolder.java +15 −7 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.android.documentsui.R; import com.android.documentsui.base.Shared; import com.android.documentsui.base.State; import com.android.documentsui.util.VersionUtils; import java.util.function.Function; Loading Loading @@ -177,13 +178,20 @@ public abstract class DocumentHolder } protected String getPreviewIconContentDescription(boolean isWorkProfile, String fileName) { DevicePolicyManager dpm = itemView.getContext().getSystemService(DevicePolicyManager.class); if (VersionUtils.isAtLeastT()) { DevicePolicyManager dpm = itemView.getContext().getSystemService( DevicePolicyManager.class); String updatableStringId = isWorkProfile ? PREVIEW_WORK_FILE_ACCESSIBILITY : UNDEFINED; int defaultStringId = isWorkProfile ? R.string.preview_work_file : R.string.preview_file; int defaultStringId = isWorkProfile ? R.string.preview_work_file : R.string.preview_file; return dpm.getString( updatableStringId, () -> itemView.getResources().getString(defaultStringId, fileName), /* formatArgs= */ fileName); } else { return itemView.getResources().getString( isWorkProfile ? R.string.preview_work_file : R.string.preview_file, fileName); } } protected static class PreviewAccessibilityDelegate extends View.AccessibilityDelegate { Loading
src/com/android/documentsui/dirlist/GridDirectoryHolder.java +21 −0 Original line number Diff line number Diff line Loading @@ -16,10 +16,16 @@ package com.android.documentsui.dirlist; import static android.app.admin.DevicePolicyResources.Drawables.Style.SOLID_COLORED; import static android.app.admin.DevicePolicyResources.Drawables.WORK_PROFILE_ICON; import static com.android.documentsui.base.DocumentInfo.getCursorString; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.database.Cursor; import android.graphics.drawable.Drawable; import android.os.Build; import android.provider.DocumentsContract; import android.provider.DocumentsContract.Document; import android.view.MotionEvent; Loading @@ -28,10 +34,13 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.RequiresApi; import com.android.documentsui.IconUtils; import com.android.documentsui.R; import com.android.documentsui.base.State; import com.android.documentsui.ui.Views; import com.android.documentsui.util.VersionUtils; final class GridDirectoryHolder extends DocumentHolder { Loading @@ -52,6 +61,18 @@ final class GridDirectoryHolder extends DocumentHolder { mIconBriefcase = (ImageView) itemView.findViewById(R.id.icon_briefcase); mIconMime.setImageDrawable( IconUtils.loadMimeIcon(context, DocumentsContract.Document.MIME_TYPE_DIR)); if (VersionUtils.isAtLeastT()) { setUpdatableWorkProfileIcon(context); } } @RequiresApi(Build.VERSION_CODES.TIRAMISU) private void setUpdatableWorkProfileIcon(Context context) { DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class); Drawable drawable = dpm.getDrawable(WORK_PROFILE_ICON, SOLID_COLORED, () -> context.getDrawable(R.drawable.ic_briefcase)); mIconBriefcase.setImageDrawable(drawable); } @Override Loading
src/com/android/documentsui/dirlist/GridDocumentHolder.java +21 −0 Original line number Diff line number Diff line Loading @@ -16,12 +16,18 @@ package com.android.documentsui.dirlist; import static android.app.admin.DevicePolicyResources.Drawables.Style.SOLID_COLORED; import static android.app.admin.DevicePolicyResources.Drawables.WORK_PROFILE_ICON; import static com.android.documentsui.base.DocumentInfo.getCursorInt; import static com.android.documentsui.base.DocumentInfo.getCursorLong; import static com.android.documentsui.base.DocumentInfo.getCursorString; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.database.Cursor; import android.graphics.drawable.Drawable; import android.os.Build; import android.provider.DocumentsContract.Document; import android.text.format.Formatter; import android.view.MotionEvent; Loading @@ -30,12 +36,15 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.RequiresApi; import com.android.documentsui.R; import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.base.Shared; import com.android.documentsui.base.UserId; import com.android.documentsui.roots.RootCursorWrapper; import com.android.documentsui.ui.Views; import com.android.documentsui.util.VersionUtils; import java.util.function.Function; Loading Loading @@ -71,6 +80,18 @@ final class GridDocumentHolder extends DocumentHolder { mPreviewIcon = itemView.findViewById(R.id.preview_icon); mIconHelper = iconHelper; if (VersionUtils.isAtLeastT()) { setUpdatableWorkProfileIcon(context); } } @RequiresApi(Build.VERSION_CODES.TIRAMISU) private void setUpdatableWorkProfileIcon(Context context) { DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class); Drawable drawable = dpm.getDrawable(WORK_PROFILE_ICON, SOLID_COLORED, () -> context.getDrawable(R.drawable.ic_briefcase)); mIconBriefcase.setImageDrawable(drawable); } @Override Loading