Merge "Using hourglass icons for DWB toast" into ub-launcher3-master
diff --git a/quickstep/res/drawable/hourglass_bottom.xml b/quickstep/res/drawable/hourglass_bottom.xml
new file mode 100644
index 0000000..b5ef008
--- /dev/null
+++ b/quickstep/res/drawable/hourglass_bottom.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <group>
+ <clip-path android:pathData="M0,0H24V24H0Z M 0,0"/>
+ <path
+ android:fillColor="#FFFFFFFF"
+ android:pathData="M6,2V8H6l4,4L6,16H6v6H18V16h0l-4,-4,4,-4h0V2Zm6,9.5,-4,-4V4h8V7.5Z"/>
+ </group>
+</vector>
diff --git a/quickstep/res/drawable/hourglass_top.xml b/quickstep/res/drawable/hourglass_top.xml
new file mode 100644
index 0000000..7fc77d3
--- /dev/null
+++ b/quickstep/res/drawable/hourglass_top.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <group>
+ <clip-path android:pathData="M0,0H24V24H0Z M 0,0"/>
+ <path
+ android:fillColor="#FFFFFFFF"
+ android:pathData="M6,2V8H6l4,4L6,16H6v6H18V16h0l-4,-4,4,-4h0V2ZM16,16.5V20H8V16.5l4,-4Z"/>
+ </group>
+</vector>
diff --git a/quickstep/res/layout/task.xml b/quickstep/res/layout/task.xml
index 4cfefb8..f96a66f 100644
--- a/quickstep/res/layout/task.xml
+++ b/quickstep/res/layout/task.xml
@@ -40,12 +40,24 @@
android:layout_width="match_parent"
android:layout_height="48dp"
android:importantForAccessibility="noHideDescendants"
- android:fontFamily="sans-serif"
- android:textSize="14sp"
android:background="@drawable/bg_wellbeing_toast"
android:layout_gravity="bottom"
android:gravity="center"
- android:textColor="@android:color/white"
- android:visibility="gone"
+ android:visibility="gone">
+ <ImageView
+ android:id="@+id/digital_well_being_hourglass"
+ android:layout_width="24dp"
+ android:layout_height="24dp"
+ android:layout_marginEnd="8dp"
/>
+ <TextView
+ android:id="@+id/digital_well_being_remaining_time"
+ android:layout_width="wrap_content"
+ android:layout_height="24dp"
+ android:fontFamily="sans-serif"
+ android:textSize="14sp"
+ android:textColor="@android:color/white"
+ android:gravity="center_vertical"
+ />
+ </com.android.quickstep.views.DigitalWellBeingToast>
</com.android.quickstep.views.TaskView>
\ No newline at end of file
diff --git a/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java b/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java
index cc10009..0dc98aa 100644
--- a/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java
+++ b/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java
@@ -28,6 +28,8 @@
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.StringRes;
@@ -41,8 +43,7 @@
import java.time.Duration;
import java.util.Locale;
-public final class DigitalWellBeingToast extends TextView {
-
+public final class DigitalWellBeingToast extends LinearLayout {
public interface InitializeCallback {
void call(float saturation, String contentDescription);
}
@@ -50,13 +51,22 @@
private static final String TAG = DigitalWellBeingToast.class.getSimpleName();
private Task mTask;
+ private ImageView mImage;
+ private TextView mText;
public DigitalWellBeingToast(Context context, AttributeSet attrs) {
super(context, attrs);
setLayoutDirection(Utilities.isRtl(getResources()) ?
View.LAYOUT_DIRECTION_RTL : View.LAYOUT_DIRECTION_LTR);
setOnClickListener((view) -> openAppUsageSettings());
+ }
+ @Override
+ protected void onFinishInflate() {
+ super.onFinishInflate();
+
+ mText = findViewById(R.id.digital_well_being_remaining_time);
+ mImage = findViewById(R.id.digital_well_being_hourglass);
}
public void initialize(Task task, InitializeCallback callback) {
@@ -70,7 +80,9 @@
setVisibility(GONE);
} else {
setVisibility(VISIBLE);
- setText(getText(appRemainingTimeMs, isGroupLimit));
+ mText.setText(getText(appRemainingTimeMs, isGroupLimit));
+ mImage.setImageResource(appRemainingTimeMs > 0 ?
+ R.drawable.hourglass_top : R.drawable.hourglass_bottom);
}
callback.call(