Loading src/com/android/documentsui/AbstractActionHandler.java +8 −0 Original line number Diff line number Diff line Loading @@ -276,6 +276,14 @@ public abstract class AbstractActionHandler<T extends FragmentActivity & CommonA throw new UnsupportedOperationException("Can't spring open directories."); } @Override public void jumpToDirectory(DocumentStack stack) { // reset() takes ownership of the passed in stack's document list, so we need to make a copy // first. mState.stack.reset(new DocumentStack(stack)); mActivity.refreshCurrentRootAndDirectory(AnimationView.ANIM_NONE); } @Override public void openSettings(RootInfo root) { throw new UnsupportedOperationException("Can't open settings."); Loading src/com/android/documentsui/ActionHandler.java +5 −0 Original line number Diff line number Diff line Loading @@ -141,6 +141,11 @@ public interface ActionHandler { */ void springOpenDirectory(DocumentInfo doc); /** * Replaces the existing stack with the given stack. */ void jumpToDirectory(DocumentStack stack); void showChooserForDoc(DocumentInfo doc); void openRootDocument(@Nullable DocumentInfo rootDoc); Loading src/com/android/documentsui/JobPanelController.kt +22 −3 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ private class VerticalMarginItemDecoration( */ class JobPanelController( private val activityContext: Context, private val actions: ActionHandler, private val viewModel: JobPanelViewModel, ) : BroadcastReceiver(), DefaultLifecycleObserver { Loading Loading @@ -140,12 +141,25 @@ class JobPanelController( toggleExpandButton.setOnClickListener { controller.toggleExpanded(jobProgress.id) } cancelButton.isVisible = expanded && !jobProgress.isFinal showInFolderButton.isVisible = expanded && jobProgress.isFinal dismissButton.isVisible = expanded && jobProgress.isFinal if (cancelButton.isVisible) { cancelButton.setOnClickListener { FileOperations.cancel(context, jobProgress.id) } } dismissButton.isVisible = expanded && jobProgress.isFinal if (dismissButton.isVisible) { dismissButton.setOnClickListener { controller.dismissProgress(jobProgress.id) } } if (expanded && jobProgress.isFinal && jobProgress.destination != null) { showInFolderButton.isVisible = true showInFolderButton.setOnClickListener { controller.showInFolder(jobProgress) } } else { showInFolderButton.isVisible = false } } private fun updateProgressBar(jobProgress: JobProgress) { progressView.let { it.isGone = jobProgress.isFinal Loading Loading @@ -395,4 +409,9 @@ class JobPanelController( viewModel.toggleExpanded(id) progressListAdapter?.submitList(ArrayList(viewModel.currentJobs.values)) } private fun showInFolder(jobProgress: JobProgress) { actions.jumpToDirectory(jobProgress.destination) popup?.dismiss() } } src/com/android/documentsui/files/FilesActivity.java +8 −6 Original line number Diff line number Diff line Loading @@ -146,12 +146,6 @@ public class FilesActivity extends BaseActivity implements AbstractActionHandler mProviders::getApplicationName, mInjector.getModel()::getItemUri, mInjector.getModel()::getItemCount); if (isVisualSignalsFlagEnabled()) { JobPanelController jobPanelController = new JobPanelController(this, new ViewModelProvider(this).get(JobPanelViewModel.class)); getLifecycle().addObserver(jobPanelController); menuManager.setJobPanelController(jobPanelController); } mInjector.menuManager = menuManager; if (isUseMaterial3FlagEnabled()) { Loading Loading @@ -191,6 +185,14 @@ public class FilesActivity extends BaseActivity implements AbstractActionHandler mPeekViewManager, mInjector); if (isVisualSignalsFlagEnabled()) { JobPanelController jobPanelController = new JobPanelController(this, mInjector.actions, new ViewModelProvider(this).get(JobPanelViewModel.class)); getLifecycle().addObserver(jobPanelController); menuManager.setJobPanelController(jobPanelController); } mInjector.searchManager = mSearchManager; // No profile tabs will be shown on FilesActivity. Use a stub to avoid unnecessary Loading src/com/android/documentsui/services/CopyJob.java +3 −1 Original line number Diff line number Diff line Loading @@ -221,7 +221,8 @@ class CopyJob extends ResolvedResourcesJob { operationType, getState(), getProgressMessage(), hasFailures()); hasFailures(), stack); } mProgressTracker.updateEstimateRemainingTime(); return new JobProgress( Loading @@ -230,6 +231,7 @@ class CopyJob extends ResolvedResourcesJob { getState(), getProgressMessage(), hasFailures(), stack, mProgressTracker.getCurrentBytes(), mProgressTracker.getRequiredBytes(), mProgressTracker.getRemainingTimeEstimate()); Loading Loading
src/com/android/documentsui/AbstractActionHandler.java +8 −0 Original line number Diff line number Diff line Loading @@ -276,6 +276,14 @@ public abstract class AbstractActionHandler<T extends FragmentActivity & CommonA throw new UnsupportedOperationException("Can't spring open directories."); } @Override public void jumpToDirectory(DocumentStack stack) { // reset() takes ownership of the passed in stack's document list, so we need to make a copy // first. mState.stack.reset(new DocumentStack(stack)); mActivity.refreshCurrentRootAndDirectory(AnimationView.ANIM_NONE); } @Override public void openSettings(RootInfo root) { throw new UnsupportedOperationException("Can't open settings."); Loading
src/com/android/documentsui/ActionHandler.java +5 −0 Original line number Diff line number Diff line Loading @@ -141,6 +141,11 @@ public interface ActionHandler { */ void springOpenDirectory(DocumentInfo doc); /** * Replaces the existing stack with the given stack. */ void jumpToDirectory(DocumentStack stack); void showChooserForDoc(DocumentInfo doc); void openRootDocument(@Nullable DocumentInfo rootDoc); Loading
src/com/android/documentsui/JobPanelController.kt +22 −3 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ private class VerticalMarginItemDecoration( */ class JobPanelController( private val activityContext: Context, private val actions: ActionHandler, private val viewModel: JobPanelViewModel, ) : BroadcastReceiver(), DefaultLifecycleObserver { Loading Loading @@ -140,12 +141,25 @@ class JobPanelController( toggleExpandButton.setOnClickListener { controller.toggleExpanded(jobProgress.id) } cancelButton.isVisible = expanded && !jobProgress.isFinal showInFolderButton.isVisible = expanded && jobProgress.isFinal dismissButton.isVisible = expanded && jobProgress.isFinal if (cancelButton.isVisible) { cancelButton.setOnClickListener { FileOperations.cancel(context, jobProgress.id) } } dismissButton.isVisible = expanded && jobProgress.isFinal if (dismissButton.isVisible) { dismissButton.setOnClickListener { controller.dismissProgress(jobProgress.id) } } if (expanded && jobProgress.isFinal && jobProgress.destination != null) { showInFolderButton.isVisible = true showInFolderButton.setOnClickListener { controller.showInFolder(jobProgress) } } else { showInFolderButton.isVisible = false } } private fun updateProgressBar(jobProgress: JobProgress) { progressView.let { it.isGone = jobProgress.isFinal Loading Loading @@ -395,4 +409,9 @@ class JobPanelController( viewModel.toggleExpanded(id) progressListAdapter?.submitList(ArrayList(viewModel.currentJobs.values)) } private fun showInFolder(jobProgress: JobProgress) { actions.jumpToDirectory(jobProgress.destination) popup?.dismiss() } }
src/com/android/documentsui/files/FilesActivity.java +8 −6 Original line number Diff line number Diff line Loading @@ -146,12 +146,6 @@ public class FilesActivity extends BaseActivity implements AbstractActionHandler mProviders::getApplicationName, mInjector.getModel()::getItemUri, mInjector.getModel()::getItemCount); if (isVisualSignalsFlagEnabled()) { JobPanelController jobPanelController = new JobPanelController(this, new ViewModelProvider(this).get(JobPanelViewModel.class)); getLifecycle().addObserver(jobPanelController); menuManager.setJobPanelController(jobPanelController); } mInjector.menuManager = menuManager; if (isUseMaterial3FlagEnabled()) { Loading Loading @@ -191,6 +185,14 @@ public class FilesActivity extends BaseActivity implements AbstractActionHandler mPeekViewManager, mInjector); if (isVisualSignalsFlagEnabled()) { JobPanelController jobPanelController = new JobPanelController(this, mInjector.actions, new ViewModelProvider(this).get(JobPanelViewModel.class)); getLifecycle().addObserver(jobPanelController); menuManager.setJobPanelController(jobPanelController); } mInjector.searchManager = mSearchManager; // No profile tabs will be shown on FilesActivity. Use a stub to avoid unnecessary Loading
src/com/android/documentsui/services/CopyJob.java +3 −1 Original line number Diff line number Diff line Loading @@ -221,7 +221,8 @@ class CopyJob extends ResolvedResourcesJob { operationType, getState(), getProgressMessage(), hasFailures()); hasFailures(), stack); } mProgressTracker.updateEstimateRemainingTime(); return new JobProgress( Loading @@ -230,6 +231,7 @@ class CopyJob extends ResolvedResourcesJob { getState(), getProgressMessage(), hasFailures(), stack, mProgressTracker.getCurrentBytes(), mProgressTracker.getRequiredBytes(), mProgressTracker.getRemainingTimeEstimate()); Loading