Show different tooltips for QS features auto-added and non-auto-added

There are 2 different kinds of auto-added / non-auto-added subtext in QS tooltips for framework features. Show animation in the settings page for full flow for non-framework services.

Bug: 218968108
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityQuickSettingsTooltipWindowTest AccessibilityShortcutPreferenceFragmentTest
Change-Id: I462cfcece959df8b9d97fab8e28337bceca9e25e
This commit is contained in:
menghanli
2022-02-11 19:38:51 +08:00
parent 093a24c3eb
commit 01d02d3d8e
14 changed files with 130 additions and 99 deletions

View File

@@ -27,10 +27,12 @@ import android.view.View;
import android.view.View.AccessibilityDelegate;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.TextView;
import androidx.annotation.DrawableRes;
import androidx.annotation.VisibleForTesting;
import com.android.settings.R;
@@ -76,9 +78,10 @@ public class AccessibilityQuickSettingsTooltipWindow extends PopupWindow {
* Sets up {@link #AccessibilityQuickSettingsTooltipWindow}'s layout and content.
*
* @param text text to be displayed
* @param imageResId the resource ID of the image drawable
*/
public void setup(String text) {
this.setup(text, /* closeDelayTimeMillis= */ 0);
public void setup(String text, @DrawableRes int imageResId) {
this.setup(text, imageResId, /* closeDelayTimeMillis= */ 0);
}
/**
@@ -88,9 +91,10 @@ public class AccessibilityQuickSettingsTooltipWindow extends PopupWindow {
* close delay time is positive number. </p>
*
* @param text text to be displayed
* @param imageResId the resource ID of the image drawable
* @param closeDelayTimeMillis how long the popup window be auto-closed
*/
public void setup(String text, long closeDelayTimeMillis) {
public void setup(String text, @DrawableRes int imageResId, long closeDelayTimeMillis) {
this.mCloseDelayTimeMillis = closeDelayTimeMillis;
setBackgroundDrawable(new ColorDrawable(mContext.getColor(android.R.color.transparent)));
@@ -101,6 +105,8 @@ public class AccessibilityQuickSettingsTooltipWindow extends PopupWindow {
popupView.setAccessibilityDelegate(mAccessibilityDelegate);
setContentView(popupView);
final ImageView imageView = getContentView().findViewById(R.id.qs_illustration);
imageView.setImageResource(imageResId);
final TextView textView = getContentView().findViewById(R.id.qs_content);
textView.setText(text);
setWidth(getWindowWidthWith(textView));