Fix the header talkback bug in DND schedule page
- set unselectable for LayoutPreference in xml - use the correct done() API to modify the given LayoutPreference Bug: 146848260 Test: robotest, manual Change-Id: I29a00d788fbf87efd0b89e9b6bfa50d1ff24d466
This commit is contained in:
@@ -24,6 +24,7 @@
|
|||||||
<com.android.settingslib.widget.LayoutPreference
|
<com.android.settingslib.widget.LayoutPreference
|
||||||
android:key="pref_app_header"
|
android:key="pref_app_header"
|
||||||
android:layout="@layout/settings_entity_header"
|
android:layout="@layout/settings_entity_header"
|
||||||
|
android:selectable="false"
|
||||||
settings:allowDividerBelow="true" />
|
settings:allowDividerBelow="true" />
|
||||||
|
|
||||||
<com.android.settingslib.widget.ActionButtonsPreference
|
<com.android.settingslib.widget.ActionButtonsPreference
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
<com.android.settingslib.widget.LayoutPreference
|
<com.android.settingslib.widget.LayoutPreference
|
||||||
android:key="pref_app_header"
|
android:key="pref_app_header"
|
||||||
android:layout="@layout/settings_entity_header"
|
android:layout="@layout/settings_entity_header"
|
||||||
|
android:selectable="false"
|
||||||
settings:allowDividerBelow="true"/>
|
settings:allowDividerBelow="true"/>
|
||||||
|
|
||||||
<com.android.settingslib.widget.ActionButtonsPreference
|
<com.android.settingslib.widget.ActionButtonsPreference
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ import android.content.pm.PackageManager;
|
|||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.service.notification.ZenModeConfig;
|
import android.service.notification.ZenModeConfig;
|
||||||
import android.util.Slog;
|
import android.util.Slog;
|
||||||
import android.view.View;
|
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceFragmentCompat;
|
import androidx.preference.PreferenceFragmentCompat;
|
||||||
@@ -61,31 +60,21 @@ public class ZenAutomaticRuleHeaderPreferenceController extends AbstractZenModeP
|
|||||||
return mRule != null;
|
return mRule != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void updateState(Preference preference) {
|
public void updateState(Preference preference) {
|
||||||
if (mRule == null) {
|
if (mRule == null || mFragment == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mFragment != null) {
|
|
||||||
LayoutPreference pref = (LayoutPreference) preference;
|
|
||||||
|
|
||||||
if (mController == null) {
|
if (mController == null) {
|
||||||
mController = EntityHeaderController
|
final LayoutPreference pref = (LayoutPreference) preference;
|
||||||
.newInstance(mFragment.getActivity(), mFragment,
|
mController = EntityHeaderController.newInstance(mFragment.getActivity(), mFragment,
|
||||||
pref.findViewById(R.id.entity_header));
|
pref.findViewById(R.id.entity_header));
|
||||||
}
|
}
|
||||||
|
|
||||||
pref = mController.setIcon(getIcon())
|
mController.setIcon(getIcon())
|
||||||
.setLabel(mRule.getName())
|
.setLabel(mRule.getName())
|
||||||
.setPackageName(mRule.getOwner().getPackageName())
|
.done(mFragment.getActivity(), false /* rebindActions */);
|
||||||
.setUid(mContext.getUserId())
|
|
||||||
.setHasAppInfoLink(false)
|
|
||||||
.setButtonActions(EntityHeaderController.ActionType.ACTION_EDIT_PREFERENCE,
|
|
||||||
EntityHeaderController.ActionType.ACTION_NONE)
|
|
||||||
.done(mFragment.getActivity(), mContext);
|
|
||||||
|
|
||||||
pref.findViewById(R.id.entity_header).setVisibility(View.VISIBLE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Drawable getIcon() {
|
private Drawable getIcon() {
|
||||||
|
|||||||
Reference in New Issue
Block a user