diff options
Diffstat (limited to 'PermissionController/src')
13 files changed, 166 insertions, 4 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppChildFragment.java b/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppChildFragment.java index 268633c4f..a396c190a 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppChildFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppChildFragment.java @@ -48,6 +48,7 @@ import com.android.permissioncontroller.role.utils.RoleUiBehaviorUtils; import com.android.permissioncontroller.role.utils.SettingsCompat; import com.android.role.controller.model.Role; import com.android.role.controller.model.Roles; +import com.android.settingslib.utils.applications.AppUtils; import java.util.List; import java.util.Objects; @@ -302,10 +303,13 @@ public class DefaultAppChildFragment<PF extends PreferenceFragmentCompat // the `NONE` item passes a null applicationinfo object. NFC uses a different preference // method for adding, and a different onclick method if (applicationInfo != null) { + UserHandle user = UserHandle.getUserHandleForUid(applicationInfo.uid); + roleApplicationPreference.setContentDescription( + AppUtils.getAppContentDescription( + context, applicationInfo.packageName, user.getIdentifier())); Bundle extras = preference.getExtras(); extras.putString(PREFERENCE_EXTRA_PACKAGE_NAME, applicationInfo.packageName); - extras.putParcelable(PREFERENCE_EXTRA_USER, - UserHandle.getUserHandleForUid(applicationInfo.uid)); + extras.putParcelable(PREFERENCE_EXTRA_USER, user); } } else { preference = roleApplicationPreference.asTwoStatePreference(); diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppListChildFragment.java b/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppListChildFragment.java index 2a987167e..fd91d0d3b 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppListChildFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppListChildFragment.java @@ -40,10 +40,12 @@ import androidx.preference.PreferenceScreen; import com.android.modules.utils.build.SdkLevel; import com.android.permissioncontroller.R; import com.android.permissioncontroller.permission.utils.Utils; +import com.android.permissioncontroller.role.UserPackage; import com.android.permissioncontroller.role.utils.PackageUtils; import com.android.permissioncontroller.role.utils.RoleUiBehaviorUtils; import com.android.role.controller.model.Role; import com.android.role.controller.model.Roles; +import com.android.settingslib.utils.applications.AppUtils; import java.util.List; @@ -241,10 +243,16 @@ public class DefaultAppListChildFragment<PF extends PreferenceFragmentCompat if (holderApplicationInfos.isEmpty()) { preference.setIcon(null); preference.setSummary(R.string.default_app_none); + rolePreference.setSummaryContentDescription(null); } else { ApplicationInfo holderApplicationInfo = holderApplicationInfos.get(0); preference.setIcon(Utils.getBadgedIcon(context, holderApplicationInfo)); preference.setSummary(Utils.getAppLabel(holderApplicationInfo, context)); + UserPackage userPackage = UserPackage.from(holderApplicationInfo); + rolePreference.setSummaryContentDescription( + AppUtils.getAppContentDescription(context, + userPackage.packageName, + userPackage.user.getIdentifier())); } RoleUiBehaviorUtils.preparePreferenceAsUser(role, holderApplicationInfos, rolePreference, user, context); diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleFragment.java b/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleFragment.java index 4731c8b0f..89a17004b 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleFragment.java @@ -59,6 +59,7 @@ import com.android.permissioncontroller.role.utils.UiUtils; import com.android.permissioncontroller.role.utils.UserUtils; import com.android.role.controller.model.Role; import com.android.role.controller.model.Roles; +import com.android.settingslib.utils.applications.AppUtils; import java.util.ArrayList; import java.util.List; @@ -698,6 +699,7 @@ public class RequestRoleFragment extends DialogFragment { Drawable icon; String title; String subtitle; + String contentDescription; if (applicationItem == null) { applicationInfo = null; restricted = false; @@ -706,6 +708,7 @@ public class RequestRoleFragment extends DialogFragment { title = context.getString(R.string.default_app_none); subtitle = mHolderUserPackage == null ? context.getString( R.string.request_role_current_default) : null; + contentDescription = null; } else { applicationInfo = applicationItem.getApplicationInfo(); UserPackage userPackage = UserPackage.from(applicationInfo); @@ -717,14 +720,18 @@ public class RequestRoleFragment extends DialogFragment { subtitle = applicationItem.isHolderApplication() ? context.getString(R.string.request_role_current_default) : checked ? context.getString(mRole.getRequestDescriptionResource()) : null; + contentDescription = AppUtils.getAppContentDescription(context, + userPackage.packageName, userPackage.user.getIdentifier()); } boolean enabled = isEnabled(position); UiUtils.setViewTreeEnabled(view, enabled && !restricted); view.setEnabled(enabled); view.setChecked(checked); + holder.iconImage.setImageDrawable(icon); holder.titleText.setText(title); + holder.titleText.setContentDescription(contentDescription); holder.subtitleText.setVisibility(!TextUtils.isEmpty(subtitle) ? View.VISIBLE : View.GONE); holder.subtitleText.setText(subtitle); diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/RoleApplicationPreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/RoleApplicationPreference.java index 1d3e32c9c..3336aad50 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/RoleApplicationPreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/RoleApplicationPreference.java @@ -17,6 +17,7 @@ package com.android.permissioncontroller.role.ui; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.preference.TwoStatePreference; /** @@ -29,4 +30,9 @@ public interface RoleApplicationPreference extends RestrictionAwarePreference { */ @NonNull TwoStatePreference asTwoStatePreference(); + + /** + * Sets the preference's content description. + */ + void setContentDescription(@Nullable String contentDescription); } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/RolePreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/RolePreference.java index bbc123cfe..feafb0ae5 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/RolePreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/RolePreference.java @@ -17,6 +17,7 @@ package com.android.permissioncontroller.role.ui; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.preference.Preference; /** @@ -28,4 +29,9 @@ public interface RolePreference extends TwoTargetPreference, RestrictionAwarePre */ @NonNull Preference asPreference(); + + /** + * Sets the preference's summary content description. + */ + void setSummaryContentDescription(@Nullable String summaryContentDescription); } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRadioPreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRadioPreference.java index 764c07497..f0a27284d 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRadioPreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRadioPreference.java @@ -19,6 +19,7 @@ package com.android.permissioncontroller.role.ui.auto; import android.content.Context; import android.content.Intent; import android.widget.RadioButton; +import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -30,10 +31,15 @@ import com.android.permissioncontroller.R; import com.android.permissioncontroller.role.ui.RestrictionAwarePreferenceMixin; import com.android.permissioncontroller.role.ui.RoleApplicationPreference; +import java.util.Objects; + /** Preference used to represent apps that can be picked as a default app. */ public class AutoRadioPreference extends TwoStatePreference implements RoleApplicationPreference { + @Nullable + private String mContentDescription; + private final RestrictionAwarePreferenceMixin mRestrictionAwarePreferenceMixin = new RestrictionAwarePreferenceMixin(this); @@ -56,10 +62,21 @@ public class AutoRadioPreference extends TwoStatePreference implements RadioButton radioButton = (RadioButton) holder.findViewById(R.id.radio_button); radioButton.setChecked(isChecked()); + TextView titleText = (TextView) holder.findViewById(android.R.id.title); + titleText.setContentDescription(mContentDescription); + mRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); } @Override + public void setContentDescription(@Nullable String contentDescription) { + if (!Objects.equals(mContentDescription, contentDescription)) { + mContentDescription = contentDescription; + notifyChanged(); + } + } + + @Override public void setRestrictionIntent(@Nullable Intent restrictionIntent) { mRestrictionAwarePreferenceMixin.setRestrictionIntent(restrictionIntent); } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRolePreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRolePreference.java index 15fd117d1..28dfc67f9 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRolePreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRolePreference.java @@ -19,6 +19,7 @@ package com.android.permissioncontroller.role.ui.auto; import android.content.Context; import android.content.Intent; import android.util.AttributeSet; +import android.widget.TextView; import androidx.annotation.AttrRes; import androidx.annotation.NonNull; @@ -31,12 +32,17 @@ import com.android.permissioncontroller.role.ui.RestrictionAwarePreferenceMixin; import com.android.permissioncontroller.role.ui.RolePreference; import com.android.permissioncontroller.role.ui.TwoTargetPreference; +import java.util.Objects; + /** * Preference for use in auto lists. Extends {@link TwoTargetPreference} in order to make sure of * shared logic between phone and auto settings UI. */ public class AutoRolePreference extends Preference implements RolePreference { + @Nullable + private String mSummaryContentDescription; + private RestrictionAwarePreferenceMixin mRestrictionAwarePreferenceMixin = new RestrictionAwarePreferenceMixin(this); @@ -62,6 +68,14 @@ public class AutoRolePreference extends Preference implements RolePreference { public void setOnSecondTargetClickListener(@Nullable OnSecondTargetClickListener listener) {} @Override + public void setSummaryContentDescription(@Nullable String summaryContentDescription) { + if (!Objects.equals(mSummaryContentDescription, summaryContentDescription)) { + mSummaryContentDescription = summaryContentDescription; + notifyChanged(); + } + } + + @Override public void setRestrictionIntent(@Nullable Intent restrictionIntent) { mRestrictionAwarePreferenceMixin.setRestrictionIntent(restrictionIntent); } @@ -70,6 +84,9 @@ public class AutoRolePreference extends Preference implements RolePreference { public void onBindViewHolder(@NonNull PreferenceViewHolder holder) { super.onBindViewHolder(holder); + TextView summaryText = (TextView) holder.findViewById(android.R.id.summary); + summaryText.setContentDescription(mSummaryContentDescription); + mRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoSwitchPreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoSwitchPreference.java index bfb2b5d1d..e7279278c 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoSwitchPreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoSwitchPreference.java @@ -19,6 +19,7 @@ package com.android.permissioncontroller.role.ui.auto; import android.content.Context; import android.content.Intent; import android.util.AttributeSet; +import android.widget.TextView; import androidx.annotation.AttrRes; import androidx.annotation.NonNull; @@ -30,12 +31,16 @@ import androidx.preference.SwitchPreference; import com.android.permissioncontroller.role.ui.RestrictionAwarePreferenceMixin; import com.android.permissioncontroller.role.ui.RoleApplicationPreference; +import java.util.Objects; + /** * Role application preference represented as a switch. */ public class AutoSwitchPreference extends SwitchPreference implements RoleApplicationPreference { + @Nullable + private String mContentDescription; private RestrictionAwarePreferenceMixin mRestrictionAwarePreferenceMixin = new RestrictionAwarePreferenceMixin(this); @@ -58,6 +63,14 @@ public class AutoSwitchPreference extends SwitchPreference } @Override + public void setContentDescription(@Nullable String contentDescription) { + if (!Objects.equals(mContentDescription, contentDescription)) { + mContentDescription = contentDescription; + notifyChanged(); + } + } + + @Override public void setRestrictionIntent(@Nullable Intent restrictionIntent) { mRestrictionAwarePreferenceMixin.setRestrictionIntent(restrictionIntent); } @@ -66,6 +79,9 @@ public class AutoSwitchPreference extends SwitchPreference public void onBindViewHolder(@NonNull PreferenceViewHolder holder) { super.onBindViewHolder(holder); + TextView titleText = (TextView) holder.findViewById(android.R.id.title); + titleText.setContentDescription(mContentDescription); + mRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRadioPreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRadioPreference.java index 67f04051c..2a943d3d7 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRadioPreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRadioPreference.java @@ -19,6 +19,7 @@ package com.android.permissioncontroller.role.ui.handheld; import android.content.Context; import android.content.Intent; import android.util.AttributeSet; +import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -28,12 +29,17 @@ import com.android.permissioncontroller.role.ui.RestrictionAwarePreferenceMixin; import com.android.permissioncontroller.role.ui.RoleApplicationPreference; import com.android.settingslib.widget.SelectorWithWidgetPreference; +import java.util.Objects; + /** * Preference used to represent apps that can be picked as a default app. */ public class HandheldRadioPreference extends SelectorWithWidgetPreference implements RoleApplicationPreference { + @Nullable + private String mContentDescription; + private final RestrictionAwarePreferenceMixin mRestrictionAwarePreferenceMixin = new RestrictionAwarePreferenceMixin(this); @@ -56,6 +62,14 @@ public class HandheldRadioPreference extends SelectorWithWidgetPreference implem } @Override + public void setContentDescription(@Nullable String contentDescription) { + if (!Objects.equals(mContentDescription, contentDescription)) { + mContentDescription = contentDescription; + notifyChanged(); + } + } + + @Override public void setRestrictionIntent(@Nullable Intent restrictionIntent) { mRestrictionAwarePreferenceMixin.setRestrictionIntent(restrictionIntent); } @@ -64,6 +78,9 @@ public class HandheldRadioPreference extends SelectorWithWidgetPreference implem public void onBindViewHolder(@NonNull PreferenceViewHolder holder) { super.onBindViewHolder(holder); + TextView titleText = (TextView) holder.findViewById(android.R.id.title); + titleText.setContentDescription(mContentDescription); + mRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRolePreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRolePreference.java index 3d09f0b46..46bf3b173 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRolePreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRolePreference.java @@ -20,6 +20,7 @@ import android.content.Context; import android.content.Intent; import android.util.AttributeSet; import android.view.View; +import android.widget.TextView; import androidx.annotation.AttrRes; import androidx.annotation.NonNull; @@ -33,6 +34,8 @@ import com.android.permissioncontroller.role.ui.RestrictionAwarePreferenceMixin; import com.android.permissioncontroller.role.ui.RolePreference; import com.android.settingslib.widget.TwoTargetPreference; +import java.util.Objects; + /** * {@link Preference} with a settings button. * @@ -45,6 +48,9 @@ public class HandheldRolePreference extends TwoTargetPreference implements RoleP new RestrictionAwarePreferenceMixin(this); @Nullable + private String mSummaryContentDescription; + + @Nullable private OnSecondTargetClickListener mOnSecondTargetClickListener; public HandheldRolePreference(@NonNull Context context, @Nullable AttributeSet attrs, @@ -94,6 +100,14 @@ public class HandheldRolePreference extends TwoTargetPreference implements RoleP } @Override + public void setSummaryContentDescription(@Nullable String summaryContentDescription) { + if (!Objects.equals(mSummaryContentDescription, summaryContentDescription)) { + mSummaryContentDescription = summaryContentDescription; + notifyChanged(); + } + } + + @Override public void setRestrictionIntent(@Nullable Intent restrictionIntent) { mRestrictionAwarePreferenceMixin.setRestrictionIntent(restrictionIntent); } @@ -114,6 +128,9 @@ public class HandheldRolePreference extends TwoTargetPreference implements RoleP // Make the settings button enabled even if the preference itself is disabled. settingsButton.setEnabled(true); + TextView summaryText = (TextView) holder.findViewById(android.R.id.summary); + summaryText.setContentDescription(mSummaryContentDescription); + mRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/handheld/HandheldSwitchPreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/handheld/HandheldSwitchPreference.java index ded6d5cb5..a801c2182 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/handheld/HandheldSwitchPreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/handheld/HandheldSwitchPreference.java @@ -19,6 +19,7 @@ package com.android.permissioncontroller.role.ui.specialappaccess.handheld; import android.content.Context; import android.content.Intent; import android.util.AttributeSet; +import android.widget.TextView; import androidx.annotation.AttrRes; import androidx.annotation.NonNull; @@ -30,10 +31,14 @@ import com.android.permissioncontroller.role.ui.RestrictionAwarePreferenceMixin; import com.android.permissioncontroller.role.ui.RoleApplicationPreference; import com.android.settingslib.widget.AppSwitchPreference; +import java.util.Objects; + /** {@link AppSwitchPreference} that is a role application preference. */ public class HandheldSwitchPreference extends AppSwitchPreference implements RoleApplicationPreference { + @Nullable + private String mContentDescription; private RestrictionAwarePreferenceMixin mRestrictionAwarePreferenceMixin = new RestrictionAwarePreferenceMixin(this); @@ -56,6 +61,14 @@ public class HandheldSwitchPreference extends AppSwitchPreference } @Override + public void setContentDescription(@Nullable String contentDescription) { + if (!Objects.equals(mContentDescription, contentDescription)) { + mContentDescription = contentDescription; + notifyChanged(); + } + } + + @Override public void setRestrictionIntent(@Nullable Intent restrictionIntent) { mRestrictionAwarePreferenceMixin.setRestrictionIntent(restrictionIntent); } @@ -64,6 +77,9 @@ public class HandheldSwitchPreference extends AppSwitchPreference public void onBindViewHolder(@NonNull PreferenceViewHolder holder) { super.onBindViewHolder(holder); + TextView titleText = (TextView) holder.findViewById(android.R.id.title); + titleText.setContentDescription(mContentDescription); + mRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRoleApplicationPreference.kt b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRoleApplicationPreference.kt index 6cd52f576..cb12bf70a 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRoleApplicationPreference.kt +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRoleApplicationPreference.kt @@ -18,6 +18,7 @@ package com.android.permissioncontroller.role.ui.wear import android.content.Context import android.content.Intent +import androidx.preference.PreferenceViewHolder import androidx.preference.TwoStatePreference import com.android.permissioncontroller.role.ui.RoleApplicationPreference @@ -30,7 +31,8 @@ class WearRoleApplicationPreference( defaultLabel: String, val checked: Boolean, val onDefaultCheckChanged: (Boolean) -> Unit = {}, - private var restrictionIntent: Intent? = null + private var restrictionIntent: Intent? = null, + private var contentDescription: String? = null, ) : TwoStatePreference(context), RoleApplicationPreference { init { title = defaultLabel @@ -39,10 +41,22 @@ class WearRoleApplicationPreference( fun getOnCheckChanged(): (Boolean) -> Unit = restrictionIntent?.let { { _ -> context.startActivity(it) } } ?: onDefaultCheckChanged + override fun setContentDescription(contentDescription: String?) { + if (this.contentDescription != contentDescription) { + this.contentDescription = contentDescription + notifyChanged() + } + } + override fun setRestrictionIntent(restrictionIntent: Intent?) { this.restrictionIntent = restrictionIntent isEnabled = restrictionIntent == null } override fun asTwoStatePreference(): TwoStatePreference = this + + override fun onBindViewHolder(holder: PreferenceViewHolder) { + super.onBindViewHolder(holder) + holder.findViewById(android.R.id.title)?.let { it.contentDescription = contentDescription } + } } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRolePreference.kt b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRolePreference.kt index 43acf4293..670c136ea 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRolePreference.kt +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRolePreference.kt @@ -19,6 +19,7 @@ package com.android.permissioncontroller.role.ui.wear import android.content.Context import android.content.Intent import androidx.preference.Preference +import androidx.preference.PreferenceViewHolder import com.android.permissioncontroller.role.ui.RolePreference import com.android.permissioncontroller.role.ui.TwoTargetPreference.OnSecondTargetClickListener import com.android.settingslib.widget.TwoTargetPreference @@ -28,13 +29,21 @@ class WearRolePreference( context: Context, val label: String, val onDefaultClicked: () -> Unit = {}, - private var restrictionIntent: Intent? = null + private var restrictionIntent: Intent? = null, + private var summaryContentDescription: String? = null, ) : TwoTargetPreference(context), RolePreference { override fun setOnSecondTargetClickListener(listener: OnSecondTargetClickListener?) { // no-op } + override fun setSummaryContentDescription(summaryContentDescription: String?) { + if (this.summaryContentDescription != summaryContentDescription) { + this.summaryContentDescription = summaryContentDescription + notifyChanged() + } + } + override fun setRestrictionIntent(restrictionIntent: Intent?) { this.restrictionIntent = restrictionIntent setEnabled(restrictionIntent == null) @@ -42,6 +51,14 @@ class WearRolePreference( override fun asPreference(): Preference = this + override fun onBindViewHolder(holder: PreferenceViewHolder) { + super.onBindViewHolder(holder) + + holder.findViewById(android.R.id.summary)?.let { + it.contentDescription = summaryContentDescription + } + } + fun getOnClicked(): () -> Unit = restrictionIntent?.let { { context.startActivity(it) } } ?: onDefaultClicked } |