Loading res/flag(com.android.documentsui.flags.use_material3)/layout/directory_app_bar.xml +9 −0 Original line number Original line Diff line number Diff line Loading @@ -66,6 +66,15 @@ </com.google.android.material.appbar.MaterialToolbar> </com.google.android.material.appbar.MaterialToolbar> <com.google.android.material.appbar.MaterialToolbar android:id="@+id/selection_bar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:touchscreenBlocksFocus="false" android:background="?attr/colorSurfaceBright" android:visibility="gone" app:layout_collapseMode="pin"/> </com.google.android.material.appbar.CollapsingToolbarLayout> </com.google.android.material.appbar.CollapsingToolbarLayout> </com.google.android.material.appbar.AppBarLayout> </com.google.android.material.appbar.AppBarLayout> res/flag(com.android.documentsui.flags.use_material3)/layout/fixed_layout.xml +27 −13 Original line number Original line Diff line number Diff line Loading @@ -54,6 +54,10 @@ android:paddingTop="@dimen/main_container_padding_top" android:paddingTop="@dimen/main_container_padding_top" android:background="@drawable/main_container_top_section_background"> android:background="@drawable/main_container_top_section_background"> <FrameLayout android:layout_height="match_parent" android:layout_width="match_parent"> <com.google.android.material.appbar.MaterialToolbar <com.google.android.material.appbar.MaterialToolbar android:id="@+id/toolbar" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_width="match_parent" Loading @@ -71,6 +75,16 @@ </com.google.android.material.appbar.MaterialToolbar> </com.google.android.material.appbar.MaterialToolbar> <com.google.android.material.appbar.MaterialToolbar android:id="@+id/selection_bar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:touchscreenBlocksFocus="false" android:background="?attr/colorSurfaceBright" android:visibility="gone"/> </FrameLayout> <include layout="@layout/directory_header" /> <include layout="@layout/directory_header" /> </LinearLayout> </LinearLayout> Loading res/flag(com.android.documentsui.flags.use_material3)/layout/nav_rail_layout.xml +27 −13 Original line number Original line Diff line number Diff line Loading @@ -85,6 +85,10 @@ android:paddingTop="@dimen/main_container_padding_top" android:paddingTop="@dimen/main_container_padding_top" android:background="@drawable/main_container_top_section_background"> android:background="@drawable/main_container_top_section_background"> <FrameLayout android:layout_height="match_parent" android:layout_width="match_parent"> <com.google.android.material.appbar.MaterialToolbar <com.google.android.material.appbar.MaterialToolbar android:id="@+id/toolbar" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_width="match_parent" Loading @@ -102,6 +106,16 @@ </com.google.android.material.appbar.MaterialToolbar> </com.google.android.material.appbar.MaterialToolbar> <com.google.android.material.appbar.MaterialToolbar android:id="@+id/selection_bar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:touchscreenBlocksFocus="false" android:background="?attr/colorSurfaceBright" android:visibility="gone"/> </FrameLayout> <include layout="@layout/directory_header" /> <include layout="@layout/directory_header" /> </LinearLayout> </LinearLayout> Loading res/flag(com.android.documentsui.flags.use_material3)/menu/action_mode_menu.xml +7 −0 Original line number Original line Diff line number Diff line Loading @@ -14,6 +14,13 @@ limitations under the License. limitations under the License. --> --> <!-- All of the `item`'s below have both `android:showAsAction` and `app:showAsAction` intentionally. This is because when the `use_material3` flag is disabled, the menu is inflated into a menu via ActionMode and when the flag is enabled it is inflated into a MaterialToolbar. The former requires `android:showAsAction` whilst the latter requires `app:showAsAction`. When the `use_material3` flag has rolled out by default, the `android:showAsAction` can be removed. --> <menu <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto"> Loading src/com/android/documentsui/BaseActivity.java +13 −18 Original line number Original line Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static com.android.documentsui.base.SharedMinimal.DEBUG; import static com.android.documentsui.base.State.MODE_GRID; import static com.android.documentsui.base.State.MODE_GRID; import static com.android.documentsui.util.FlagUtils.isUseMaterial3FlagEnabled; import static com.android.documentsui.util.FlagUtils.isUseMaterial3FlagEnabled; import static com.android.documentsui.util.FlagUtils.isUsePeekPreviewFlagEnabled; import static com.android.documentsui.util.FlagUtils.isUsePeekPreviewFlagEnabled; import static com.android.documentsui.util.FlagUtils.isVisualSignalsFlagEnabled; import static com.android.documentsui.util.Material3Config.getRes; import static com.android.documentsui.util.Material3Config.getRes; import android.content.Context; import android.content.Context; Loading Loading @@ -288,7 +289,7 @@ public abstract class BaseActivity if (isUseMaterial3FlagEnabled()) { if (isUseMaterial3FlagEnabled()) { // Whenever a search chip is clicked, close the navigation bar. // Whenever a search chip is clicked, close the navigation bar. mNavigator.closeSelectionBar(); mInjector.selectionBarController.closeSelectionBar(); } } } } Loading Loading @@ -445,8 +446,7 @@ public abstract class BaseActivity breadcrumb, breadcrumb, profileTabsContainer, profileTabsContainer, DocumentsApplication.getUserManagerState(this), DocumentsApplication.getUserManagerState(this), mConfigStore, mConfigStore); mInjector); } } return new NavigationViewManager( return new NavigationViewManager( this, this, Loading @@ -456,8 +456,7 @@ public abstract class BaseActivity breadcrumb, breadcrumb, profileTabsContainer, profileTabsContainer, DocumentsApplication.getUserIdManager(this), DocumentsApplication.getUserIdManager(this), mConfigStore, mConfigStore); mInjector); } } public void onPreferenceChanged(String pref) { public void onPreferenceChanged(String pref) { Loading @@ -473,7 +472,7 @@ public abstract class BaseActivity Runnable finishActionMode = Runnable finishActionMode = (isUseMaterial3FlagEnabled()) (isUseMaterial3FlagEnabled()) ? mNavigator::closeSelectionBar ? mInjector.selectionBarController::closeSelectionBar : mInjector.actionModeController::finishActionMode; : mInjector.actionModeController::finishActionMode; mRootsMonitor = mRootsMonitor = Loading @@ -497,13 +496,6 @@ public abstract class BaseActivity @Override @Override public boolean onCreateOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) { if (isUseMaterial3FlagEnabled()) { // In Material3 the menu is now inflated in the `NavigationViewMenu`. This is currently // to allow for us to inflate between the action_menu and the activity menu. Once the // Material 3 flag is removed, the menus will be merged and we can rely on this single // inflation point. return super.onCreateOptionsMenu(menu); } boolean showMenu = super.onCreateOptionsMenu(menu); boolean showMenu = super.onCreateOptionsMenu(menu); getMenuInflater().inflate(getRes(R.menu.activity), menu); getMenuInflater().inflate(getRes(R.menu.activity), menu); Loading @@ -528,17 +520,20 @@ public abstract class BaseActivity @CallSuper @CallSuper public boolean onPrepareOptionsMenu(Menu menu) { public boolean onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); super.onPrepareOptionsMenu(menu); mSearchManager.showMenu(mState.stack); // Remove the subMenu when material3 is launched b/379776735. // Remove the subMenu when material3 is launched b/379776735. if (isUseMaterial3FlagEnabled()) { if (isUseMaterial3FlagEnabled()) { if (mNavigator != null) { mInjector.menuManager.updateSubMenu(null); mNavigator.updateActionMenu(); } } else { } else { mSearchManager.showMenu(mState.stack); final ActionMenuView subMenuView = findViewById(getRes(R.id.sub_menu)); final ActionMenuView subMenuView = findViewById(getRes(R.id.sub_menu)); mInjector.menuManager.updateSubMenu(subMenuView.getMenu()); mInjector.menuManager.updateSubMenu(subMenuView.getMenu()); } } if (isVisualSignalsFlagEnabled()) { mInjector.menuManager.instantiateJobProgress(menu); } return true; return true; } } Loading Loading @@ -642,7 +637,7 @@ public abstract class BaseActivity } } if (isUseMaterial3FlagEnabled()) { if (isUseMaterial3FlagEnabled()) { mNavigator.closeSelectionBar(); mInjector.selectionBarController.closeSelectionBar(); } else { } else { mInjector.actionModeController.finishActionMode(); mInjector.actionModeController.finishActionMode(); } } Loading Loading
res/flag(com.android.documentsui.flags.use_material3)/layout/directory_app_bar.xml +9 −0 Original line number Original line Diff line number Diff line Loading @@ -66,6 +66,15 @@ </com.google.android.material.appbar.MaterialToolbar> </com.google.android.material.appbar.MaterialToolbar> <com.google.android.material.appbar.MaterialToolbar android:id="@+id/selection_bar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:touchscreenBlocksFocus="false" android:background="?attr/colorSurfaceBright" android:visibility="gone" app:layout_collapseMode="pin"/> </com.google.android.material.appbar.CollapsingToolbarLayout> </com.google.android.material.appbar.CollapsingToolbarLayout> </com.google.android.material.appbar.AppBarLayout> </com.google.android.material.appbar.AppBarLayout>
res/flag(com.android.documentsui.flags.use_material3)/layout/fixed_layout.xml +27 −13 Original line number Original line Diff line number Diff line Loading @@ -54,6 +54,10 @@ android:paddingTop="@dimen/main_container_padding_top" android:paddingTop="@dimen/main_container_padding_top" android:background="@drawable/main_container_top_section_background"> android:background="@drawable/main_container_top_section_background"> <FrameLayout android:layout_height="match_parent" android:layout_width="match_parent"> <com.google.android.material.appbar.MaterialToolbar <com.google.android.material.appbar.MaterialToolbar android:id="@+id/toolbar" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_width="match_parent" Loading @@ -71,6 +75,16 @@ </com.google.android.material.appbar.MaterialToolbar> </com.google.android.material.appbar.MaterialToolbar> <com.google.android.material.appbar.MaterialToolbar android:id="@+id/selection_bar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:touchscreenBlocksFocus="false" android:background="?attr/colorSurfaceBright" android:visibility="gone"/> </FrameLayout> <include layout="@layout/directory_header" /> <include layout="@layout/directory_header" /> </LinearLayout> </LinearLayout> Loading
res/flag(com.android.documentsui.flags.use_material3)/layout/nav_rail_layout.xml +27 −13 Original line number Original line Diff line number Diff line Loading @@ -85,6 +85,10 @@ android:paddingTop="@dimen/main_container_padding_top" android:paddingTop="@dimen/main_container_padding_top" android:background="@drawable/main_container_top_section_background"> android:background="@drawable/main_container_top_section_background"> <FrameLayout android:layout_height="match_parent" android:layout_width="match_parent"> <com.google.android.material.appbar.MaterialToolbar <com.google.android.material.appbar.MaterialToolbar android:id="@+id/toolbar" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_width="match_parent" Loading @@ -102,6 +106,16 @@ </com.google.android.material.appbar.MaterialToolbar> </com.google.android.material.appbar.MaterialToolbar> <com.google.android.material.appbar.MaterialToolbar android:id="@+id/selection_bar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:touchscreenBlocksFocus="false" android:background="?attr/colorSurfaceBright" android:visibility="gone"/> </FrameLayout> <include layout="@layout/directory_header" /> <include layout="@layout/directory_header" /> </LinearLayout> </LinearLayout> Loading
res/flag(com.android.documentsui.flags.use_material3)/menu/action_mode_menu.xml +7 −0 Original line number Original line Diff line number Diff line Loading @@ -14,6 +14,13 @@ limitations under the License. limitations under the License. --> --> <!-- All of the `item`'s below have both `android:showAsAction` and `app:showAsAction` intentionally. This is because when the `use_material3` flag is disabled, the menu is inflated into a menu via ActionMode and when the flag is enabled it is inflated into a MaterialToolbar. The former requires `android:showAsAction` whilst the latter requires `app:showAsAction`. When the `use_material3` flag has rolled out by default, the `android:showAsAction` can be removed. --> <menu <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto"> Loading
src/com/android/documentsui/BaseActivity.java +13 −18 Original line number Original line Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static com.android.documentsui.base.SharedMinimal.DEBUG; import static com.android.documentsui.base.State.MODE_GRID; import static com.android.documentsui.base.State.MODE_GRID; import static com.android.documentsui.util.FlagUtils.isUseMaterial3FlagEnabled; import static com.android.documentsui.util.FlagUtils.isUseMaterial3FlagEnabled; import static com.android.documentsui.util.FlagUtils.isUsePeekPreviewFlagEnabled; import static com.android.documentsui.util.FlagUtils.isUsePeekPreviewFlagEnabled; import static com.android.documentsui.util.FlagUtils.isVisualSignalsFlagEnabled; import static com.android.documentsui.util.Material3Config.getRes; import static com.android.documentsui.util.Material3Config.getRes; import android.content.Context; import android.content.Context; Loading Loading @@ -288,7 +289,7 @@ public abstract class BaseActivity if (isUseMaterial3FlagEnabled()) { if (isUseMaterial3FlagEnabled()) { // Whenever a search chip is clicked, close the navigation bar. // Whenever a search chip is clicked, close the navigation bar. mNavigator.closeSelectionBar(); mInjector.selectionBarController.closeSelectionBar(); } } } } Loading Loading @@ -445,8 +446,7 @@ public abstract class BaseActivity breadcrumb, breadcrumb, profileTabsContainer, profileTabsContainer, DocumentsApplication.getUserManagerState(this), DocumentsApplication.getUserManagerState(this), mConfigStore, mConfigStore); mInjector); } } return new NavigationViewManager( return new NavigationViewManager( this, this, Loading @@ -456,8 +456,7 @@ public abstract class BaseActivity breadcrumb, breadcrumb, profileTabsContainer, profileTabsContainer, DocumentsApplication.getUserIdManager(this), DocumentsApplication.getUserIdManager(this), mConfigStore, mConfigStore); mInjector); } } public void onPreferenceChanged(String pref) { public void onPreferenceChanged(String pref) { Loading @@ -473,7 +472,7 @@ public abstract class BaseActivity Runnable finishActionMode = Runnable finishActionMode = (isUseMaterial3FlagEnabled()) (isUseMaterial3FlagEnabled()) ? mNavigator::closeSelectionBar ? mInjector.selectionBarController::closeSelectionBar : mInjector.actionModeController::finishActionMode; : mInjector.actionModeController::finishActionMode; mRootsMonitor = mRootsMonitor = Loading @@ -497,13 +496,6 @@ public abstract class BaseActivity @Override @Override public boolean onCreateOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) { if (isUseMaterial3FlagEnabled()) { // In Material3 the menu is now inflated in the `NavigationViewMenu`. This is currently // to allow for us to inflate between the action_menu and the activity menu. Once the // Material 3 flag is removed, the menus will be merged and we can rely on this single // inflation point. return super.onCreateOptionsMenu(menu); } boolean showMenu = super.onCreateOptionsMenu(menu); boolean showMenu = super.onCreateOptionsMenu(menu); getMenuInflater().inflate(getRes(R.menu.activity), menu); getMenuInflater().inflate(getRes(R.menu.activity), menu); Loading @@ -528,17 +520,20 @@ public abstract class BaseActivity @CallSuper @CallSuper public boolean onPrepareOptionsMenu(Menu menu) { public boolean onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); super.onPrepareOptionsMenu(menu); mSearchManager.showMenu(mState.stack); // Remove the subMenu when material3 is launched b/379776735. // Remove the subMenu when material3 is launched b/379776735. if (isUseMaterial3FlagEnabled()) { if (isUseMaterial3FlagEnabled()) { if (mNavigator != null) { mInjector.menuManager.updateSubMenu(null); mNavigator.updateActionMenu(); } } else { } else { mSearchManager.showMenu(mState.stack); final ActionMenuView subMenuView = findViewById(getRes(R.id.sub_menu)); final ActionMenuView subMenuView = findViewById(getRes(R.id.sub_menu)); mInjector.menuManager.updateSubMenu(subMenuView.getMenu()); mInjector.menuManager.updateSubMenu(subMenuView.getMenu()); } } if (isVisualSignalsFlagEnabled()) { mInjector.menuManager.instantiateJobProgress(menu); } return true; return true; } } Loading Loading @@ -642,7 +637,7 @@ public abstract class BaseActivity } } if (isUseMaterial3FlagEnabled()) { if (isUseMaterial3FlagEnabled()) { mNavigator.closeSelectionBar(); mInjector.selectionBarController.closeSelectionBar(); } else { } else { mInjector.actionModeController.finishActionMode(); mInjector.actionModeController.finishActionMode(); } } Loading