summaryrefslogtreecommitdiff
path: root/src/com
diff options
context:
space:
mode:
author Austin Tankiang <austinct@google.com> 2025-03-20 18:48:06 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-20 18:48:06 -0700
commit3fea3c4cdb50094a4d37d0f5d1ac1749ae866b6a (patch)
tree7bf4691aea7cbb6ff5e750863a315bc27fcaf187 /src/com
parentbde3eb49cbf4b0522d2ab28cab84650065a8f47d (diff)
parent4332f355c63fbfc4bc7c859ce8969b1960dc39dd (diff)
Merge "Add the job progress panel" into main
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/documentsui/JobPanelController.kt26
-rw-r--r--src/com/android/documentsui/files/FilesActivity.java3
2 files changed, 27 insertions, 2 deletions
diff --git a/src/com/android/documentsui/JobPanelController.kt b/src/com/android/documentsui/JobPanelController.kt
index b3b5f1cfd..a8ab8b0a4 100644
--- a/src/com/android/documentsui/JobPanelController.kt
+++ b/src/com/android/documentsui/JobPanelController.kt
@@ -20,7 +20,10 @@ import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.util.Log
+import android.view.LayoutInflater
import android.view.MenuItem
+import android.view.ViewGroup
+import android.widget.PopupWindow
import android.widget.ProgressBar
import com.android.documentsui.base.Menus
import com.android.documentsui.services.FileOperationService
@@ -77,8 +80,29 @@ class JobPanelController(private val mContext: Context) : BroadcastReceiver() {
/**
* Sets the menu item controlled by this class. The item's actionView must be a [ProgressBar].
*/
+ @Suppress("ktlint:standard:comment-wrapping")
fun setMenuItem(menuItem: MenuItem) {
- (menuItem.actionView as ProgressBar).max = MAX_PROGRESS
+ val progressIcon = menuItem.actionView as ProgressBar
+ progressIcon.max = MAX_PROGRESS
+ progressIcon.setOnClickListener { view ->
+ val panel = LayoutInflater.from(mContext).inflate(
+ R.layout.job_progress_panel,
+ /* root= */ null
+ )
+ val popupWidth = mContext.resources.getDimension(R.dimen.job_progress_panel_width) +
+ mContext.resources.getDimension(R.dimen.job_progress_panel_margin)
+ val popup = PopupWindow(
+ /* contentView= */ panel,
+ /* width= */ popupWidth.toInt(),
+ /* height= */ ViewGroup.LayoutParams.WRAP_CONTENT,
+ /* focusable= */ true
+ )
+ popup.showAsDropDown(
+ /* anchor= */ view,
+ /* xoff= */ view.width - popupWidth.toInt(),
+ /* yoff= */ 0
+ )
+ }
mMenuItem = menuItem
updateMenuItem(animate = false)
}
diff --git a/src/com/android/documentsui/files/FilesActivity.java b/src/com/android/documentsui/files/FilesActivity.java
index cb8708f0b..955a94d93 100644
--- a/src/com/android/documentsui/files/FilesActivity.java
+++ b/src/com/android/documentsui/files/FilesActivity.java
@@ -19,6 +19,7 @@ package com.android.documentsui.files;
import static com.android.documentsui.OperationDialogFragment.DIALOG_TYPE_UNKNOWN;
import static com.android.documentsui.base.SharedMinimal.DEBUG;
import static com.android.documentsui.util.FlagUtils.isUseMaterial3FlagEnabled;
+import static com.android.documentsui.util.FlagUtils.isVisualSignalsFlagEnabled;
import static com.android.documentsui.util.FlagUtils.isZipNgFlagEnabled;
import android.app.ActivityManager.TaskDescription;
@@ -134,7 +135,7 @@ public class FilesActivity extends BaseActivity implements AbstractActionHandler
return clipper.hasItemsToPaste();
}
},
- getApplicationContext(),
+ isVisualSignalsFlagEnabled() ? this : getApplicationContext(),
mInjector.selectionMgr,
mProviders::getApplicationName,
mInjector.getModel()::getItemUri,