Change layout of ToggleAction for GlobalActionsDialog

Layout of SinglePressAction was changed on Android 10, but ToggleAction
did not changed.
As a result, GlobalActionDialog menu is inconsistent layout when
ToggleAction is used.

We change to load the same layout resource for each Actions.
And show state of ToggleAction as single line.

Bug: 144680446
Change-Id: I75e07ea04450a2ecc91d5883711381deb72aa982
This commit is contained in:
Koji Fukui
2019-12-24 16:12:07 +09:00
committed by Koji Fukui
parent 9b141cc23c
commit 5c010eebf2
3 changed files with 4 additions and 37 deletions

View File

@@ -57,15 +57,5 @@
android:textColor="@color/global_actions_text"
android:textAppearance="?android:attr/textAppearanceSmall"
/>
<TextView
android:visibility="gone"
android:id="@*android:id/status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@color/global_actions_text"
android:textAppearance="?android:attr/textAppearanceSmall"
/>
</LinearLayout>
</LinearLayout>

View File

@@ -56,15 +56,5 @@
android:textColor="@color/global_actions_text"
android:textAppearance="?android:attr/textAppearanceSmall"
/>
<TextView
android:visibility="gone"
android:id="@*android:id/status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@color/global_actions_text"
android:textAppearance="?android:attr/textAppearanceSmall"
/>
</LinearLayout>
</LinearLayout>

View File

@@ -1145,13 +1145,6 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
TextView messageView = (TextView) v.findViewById(R.id.message);
messageView.setSelected(true); // necessary for marquee to work
TextView statusView = (TextView) v.findViewById(R.id.status);
final String status = getStatus();
if (!TextUtils.isEmpty(status)) {
statusView.setText(status);
} else {
statusView.setVisibility(View.GONE);
}
if (mIcon != null) {
icon.setImageDrawable(mIcon);
icon.setScaleType(ScaleType.CENTER_CROP);
@@ -1236,32 +1229,26 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
LayoutInflater inflater) {
willCreate();
View v = inflater.inflate(R
.layout.global_actions_item, parent, false);
View v = inflater.inflate(com.android.systemui.R
.layout.global_actions_grid_item, parent, false);
ImageView icon = (ImageView) v.findViewById(R.id.icon);
TextView messageView = (TextView) v.findViewById(R.id.message);
TextView statusView = (TextView) v.findViewById(R.id.status);
final boolean enabled = isEnabled();
boolean on = ((mState == State.On) || (mState == State.TurningOn));
if (messageView != null) {
messageView.setText(mMessageResId);
messageView.setText(on ? mEnabledStatusMessageResId : mDisabledStatusMessageResId);
messageView.setEnabled(enabled);
messageView.setSelected(true); // necessary for marquee to work
}
boolean on = ((mState == State.On) || (mState == State.TurningOn));
if (icon != null) {
icon.setImageDrawable(context.getDrawable(
(on ? mEnabledIconResId : mDisabledIconResid)));
icon.setEnabled(enabled);
}
if (statusView != null) {
statusView.setText(on ? mEnabledStatusMessageResId : mDisabledStatusMessageResId);
statusView.setVisibility(View.VISIBLE);
statusView.setEnabled(enabled);
}
v.setEnabled(enabled);
return v;