Loading src/com/android/documentsui/ProfileTabs.java +17 −5 Original line number Diff line number Diff line Loading @@ -16,11 +16,14 @@ package com.android.documentsui; import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.PERSONAL_TAB; import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.WORK_TAB; import static androidx.core.util.Preconditions.checkNotNull; import android.app.admin.DevicePolicyManager; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import androidx.annotation.Nullable; Loading Loading @@ -149,14 +152,23 @@ public class ProfileTabs implements ProfileTabsAddons { mTabs.removeAllTabs(); if (mUserIds.size() > 1) { // set setSelected to false otherwise it will trigger callback. mTabs.addTab(createTab(R.string.personal_tab, mTabs.addTab(createTab( getEnterpriseString(PERSONAL_TAB, R.string.personal_tab), mUserIdManager.getSystemUser()), /* setSelected= */false); mTabs.addTab(createTab(R.string.work_tab, mTabs.addTab(createTab( getEnterpriseString(WORK_TAB, R.string.work_tab), mUserIdManager.getManagedUser()), /* setSelected= */false); } } } private String getEnterpriseString(String updatableStringId, int defaultStringId) { DevicePolicyManager dpm = mTabsContainer.getContext().getSystemService( DevicePolicyManager.class); return dpm.getString( updatableStringId, () -> mTabsContainer.getContext().getString(defaultStringId)); } /** * Returns the user represented by the selected tab. If there is no tab, return the * current user. Loading @@ -182,8 +194,8 @@ public class ProfileTabs implements ProfileTabsAddons { && mState.stack.getRoot() != null && mState.stack.getRoot().supportsCrossProfile(); } private TabLayout.Tab createTab(int resId, UserId userId) { return mTabs.newTab().setText(resId).setTag(userId); private TabLayout.Tab createTab(String text, UserId userId) { return mTabs.newTab().setText(text).setTag(userId); } @Override Loading src/com/android/documentsui/dirlist/DocumentHolder.java +15 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,10 @@ package com.android.documentsui.dirlist; import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.PREVIEW_WORK_FILE_ACCESSIBILITY; import static android.app.admin.DevicePolicyResources.Strings.UNDEFINED; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.database.Cursor; import android.os.Bundle; Loading @@ -30,6 +34,7 @@ import android.widget.ImageView; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import androidx.recyclerview.widget.RecyclerView; import com.android.documentsui.R; import com.android.documentsui.base.Shared; import com.android.documentsui.base.State; Loading Loading @@ -171,6 +176,16 @@ public abstract class DocumentHolder return view.animate().setDuration(Shared.CHECK_ANIMATION_DURATION).alpha(alpha); } protected String getPreviewIconContentDescription(boolean isWorkProfile, String fileName) { 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; return dpm.getString( updatableStringId, () -> itemView.getResources().getString(defaultStringId, fileName), /* formatArgs= */ fileName); } protected static class PreviewAccessibilityDelegate extends View.AccessibilityDelegate { private Function<View, Boolean> mCallback; Loading src/com/android/documentsui/dirlist/GridDocumentHolder.java +3 −4 Original line number Diff line number Diff line Loading @@ -116,10 +116,9 @@ final class GridDocumentHolder extends DocumentHolder { mPreviewIcon.setVisibility(show ? View.VISIBLE : View.GONE); if (show) { mPreviewIcon.setContentDescription( itemView.getResources().getString( mIconHelper.shouldShowBadge(mDoc.userId.getIdentifier()) ? R.string.preview_work_file : R.string.preview_file, mDoc.displayName)); getPreviewIconContentDescription( mIconHelper.shouldShowBadge(mDoc.userId.getIdentifier()), mDoc.displayName)); mPreviewIcon.setAccessibilityDelegate(new PreviewAccessibilityDelegate(clickCallback)); } } Loading src/com/android/documentsui/dirlist/GridPhotoHolder.java +3 −4 Original line number Diff line number Diff line Loading @@ -98,10 +98,9 @@ final class GridPhotoHolder extends DocumentHolder { mPreviewIcon.setVisibility(show ? View.VISIBLE : View.GONE); if (show) { mPreviewIcon.setContentDescription( itemView.getResources().getString( mIconHelper.shouldShowBadge(mDoc.userId.getIdentifier()) ? R.string.preview_work_file : R.string.preview_file, mDoc.displayName)); getPreviewIconContentDescription( mIconHelper.shouldShowBadge(mDoc.userId.getIdentifier()), mDoc.displayName)); mPreviewIcon.setAccessibilityDelegate(new PreviewAccessibilityDelegate(clickCallback)); } } Loading src/com/android/documentsui/dirlist/ListDocumentHolder.java +3 −4 Original line number Diff line number Diff line Loading @@ -137,10 +137,9 @@ final class ListDocumentHolder extends DocumentHolder { mPreviewIcon.setVisibility(show ? View.VISIBLE : View.GONE); if (show) { mPreviewIcon.setContentDescription( itemView.getResources().getString( mIconHelper.shouldShowBadge(mDoc.userId.getIdentifier()) ? R.string.preview_work_file : R.string.preview_file, mDoc.displayName)); getPreviewIconContentDescription( mIconHelper.shouldShowBadge(mDoc.userId.getIdentifier()), mDoc.displayName)); mPreviewIcon.setAccessibilityDelegate( new PreviewAccessibilityDelegate(clickCallback)); } Loading Loading
src/com/android/documentsui/ProfileTabs.java +17 −5 Original line number Diff line number Diff line Loading @@ -16,11 +16,14 @@ package com.android.documentsui; import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.PERSONAL_TAB; import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.WORK_TAB; import static androidx.core.util.Preconditions.checkNotNull; import android.app.admin.DevicePolicyManager; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import androidx.annotation.Nullable; Loading Loading @@ -149,14 +152,23 @@ public class ProfileTabs implements ProfileTabsAddons { mTabs.removeAllTabs(); if (mUserIds.size() > 1) { // set setSelected to false otherwise it will trigger callback. mTabs.addTab(createTab(R.string.personal_tab, mTabs.addTab(createTab( getEnterpriseString(PERSONAL_TAB, R.string.personal_tab), mUserIdManager.getSystemUser()), /* setSelected= */false); mTabs.addTab(createTab(R.string.work_tab, mTabs.addTab(createTab( getEnterpriseString(WORK_TAB, R.string.work_tab), mUserIdManager.getManagedUser()), /* setSelected= */false); } } } private String getEnterpriseString(String updatableStringId, int defaultStringId) { DevicePolicyManager dpm = mTabsContainer.getContext().getSystemService( DevicePolicyManager.class); return dpm.getString( updatableStringId, () -> mTabsContainer.getContext().getString(defaultStringId)); } /** * Returns the user represented by the selected tab. If there is no tab, return the * current user. Loading @@ -182,8 +194,8 @@ public class ProfileTabs implements ProfileTabsAddons { && mState.stack.getRoot() != null && mState.stack.getRoot().supportsCrossProfile(); } private TabLayout.Tab createTab(int resId, UserId userId) { return mTabs.newTab().setText(resId).setTag(userId); private TabLayout.Tab createTab(String text, UserId userId) { return mTabs.newTab().setText(text).setTag(userId); } @Override Loading
src/com/android/documentsui/dirlist/DocumentHolder.java +15 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,10 @@ package com.android.documentsui.dirlist; import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.PREVIEW_WORK_FILE_ACCESSIBILITY; import static android.app.admin.DevicePolicyResources.Strings.UNDEFINED; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.database.Cursor; import android.os.Bundle; Loading @@ -30,6 +34,7 @@ import android.widget.ImageView; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import androidx.recyclerview.widget.RecyclerView; import com.android.documentsui.R; import com.android.documentsui.base.Shared; import com.android.documentsui.base.State; Loading Loading @@ -171,6 +176,16 @@ public abstract class DocumentHolder return view.animate().setDuration(Shared.CHECK_ANIMATION_DURATION).alpha(alpha); } protected String getPreviewIconContentDescription(boolean isWorkProfile, String fileName) { 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; return dpm.getString( updatableStringId, () -> itemView.getResources().getString(defaultStringId, fileName), /* formatArgs= */ fileName); } protected static class PreviewAccessibilityDelegate extends View.AccessibilityDelegate { private Function<View, Boolean> mCallback; Loading
src/com/android/documentsui/dirlist/GridDocumentHolder.java +3 −4 Original line number Diff line number Diff line Loading @@ -116,10 +116,9 @@ final class GridDocumentHolder extends DocumentHolder { mPreviewIcon.setVisibility(show ? View.VISIBLE : View.GONE); if (show) { mPreviewIcon.setContentDescription( itemView.getResources().getString( mIconHelper.shouldShowBadge(mDoc.userId.getIdentifier()) ? R.string.preview_work_file : R.string.preview_file, mDoc.displayName)); getPreviewIconContentDescription( mIconHelper.shouldShowBadge(mDoc.userId.getIdentifier()), mDoc.displayName)); mPreviewIcon.setAccessibilityDelegate(new PreviewAccessibilityDelegate(clickCallback)); } } Loading
src/com/android/documentsui/dirlist/GridPhotoHolder.java +3 −4 Original line number Diff line number Diff line Loading @@ -98,10 +98,9 @@ final class GridPhotoHolder extends DocumentHolder { mPreviewIcon.setVisibility(show ? View.VISIBLE : View.GONE); if (show) { mPreviewIcon.setContentDescription( itemView.getResources().getString( mIconHelper.shouldShowBadge(mDoc.userId.getIdentifier()) ? R.string.preview_work_file : R.string.preview_file, mDoc.displayName)); getPreviewIconContentDescription( mIconHelper.shouldShowBadge(mDoc.userId.getIdentifier()), mDoc.displayName)); mPreviewIcon.setAccessibilityDelegate(new PreviewAccessibilityDelegate(clickCallback)); } } Loading
src/com/android/documentsui/dirlist/ListDocumentHolder.java +3 −4 Original line number Diff line number Diff line Loading @@ -137,10 +137,9 @@ final class ListDocumentHolder extends DocumentHolder { mPreviewIcon.setVisibility(show ? View.VISIBLE : View.GONE); if (show) { mPreviewIcon.setContentDescription( itemView.getResources().getString( mIconHelper.shouldShowBadge(mDoc.userId.getIdentifier()) ? R.string.preview_work_file : R.string.preview_file, mDoc.displayName)); getPreviewIconContentDescription( mIconHelper.shouldShowBadge(mDoc.userId.getIdentifier()), mDoc.displayName)); mPreviewIcon.setAccessibilityDelegate( new PreviewAccessibilityDelegate(clickCallback)); } Loading