Animate the color transition (active<->inactive) in the mode header icon
Also, don't apply the layout params, etc on each call to updateState - once per displayPreference is enough. Fixes: 356399449 Bug: 357861830 Test: manual Flag: android.app.modes_ui Change-Id: I6967ea1745377d0f514ca0f68101043f017a8fd7
This commit is contained in:
@@ -19,6 +19,7 @@ import android.content.Context;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
@@ -33,11 +34,17 @@ class ZenModeHeaderController extends AbstractZenModeHeaderController {
|
||||
super(context, key, fragment);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
setUpHeader(screen,
|
||||
mContext.getResources().getDimensionPixelSize(R.dimen.zen_mode_header_size));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateState(Preference preference, @NonNull ZenMode zenMode) {
|
||||
updateIcon(preference, zenMode,
|
||||
mContext.getResources().getDimensionPixelSize(R.dimen.zen_mode_header_size),
|
||||
icon -> IconUtil.makeModeHeader(mContext, icon),
|
||||
iconView -> iconView.setSelected(zenMode.isActive()));
|
||||
/* isSelected= */ zenMode.isActive());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user