Adds null checks on callers of Nullable method getA11yServiceInfo().

Also renames mPackageName to mFeatureName. This string is used as the
user-visible feature name, e.g. TalkBack, not the APK package name.

Fix: 382054546
Test: n/a (existing presubmit)
Flag: EXEMPT minor bugfix
Change-Id: I1ce6902612d89bbb68bddf30227ca231ea98dce7
This commit is contained in:
Daniel Norman
2024-12-04 18:44:56 +00:00
parent 4a84a244b2
commit 908bd398bd
8 changed files with 16 additions and 16 deletions

View File

@@ -81,7 +81,7 @@ public class LaunchAccessibilityActivityPreferenceFragment extends ToggleFeature
super.onProcessArguments(arguments);
mComponentName = arguments.getParcelable(AccessibilitySettings.EXTRA_COMPONENT_NAME);
final ActivityInfo info = getAccessibilityShortcutInfo().getActivityInfo();
mPackageName = info.loadLabel(getPackageManager()).toString();
mFeatureName = info.loadLabel(getPackageManager());
// Settings animated image.
final int animatedImageRes = arguments.getInt(

View File

@@ -385,8 +385,8 @@ public class ToggleAccessibilityServicePreferenceFragment extends
}
// Get Accessibility service name.
mPackageName = getAccessibilityServiceInfo().getResolveInfo().loadLabel(
getPackageManager());
AccessibilityServiceInfo info = getAccessibilityServiceInfo();
mFeatureName = info == null ? "" : info.getResolveInfo().loadLabel(getPackageManager());
if (arguments.containsKey(AccessibilitySettings.EXTRA_TILE_SERVICE_COMPONENT_NAME)) {
final String tileServiceComponentName = arguments.getString(

View File

@@ -74,7 +74,7 @@ public class ToggleColorInversionPreferenceFragment extends ToggleFeaturePrefere
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mComponentName = COLOR_INVERSION_COMPONENT_NAME;
mPackageName = getText(R.string.accessibility_display_inversion_preference_title);
mFeatureName = getText(R.string.accessibility_display_inversion_preference_title);
mHtmlDescription = getText(R.string.accessibility_display_inversion_preference_subtitle);
mTopIntroTitle = getText(R.string.accessibility_display_inversion_preference_intro_text);
mImageUri = new Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)

View File

@@ -78,7 +78,7 @@ public class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePreferenceF
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mComponentName = DALTONIZER_COMPONENT_NAME;
mPackageName = getText(com.android.settingslib.R
mFeatureName = getText(com.android.settingslib.R
.string.accessibility_display_daltonizer_preference_title);
mHtmlDescription = getText(com.android.settingslib.R
.string.accessibility_display_daltonizer_preference_subtitle);

View File

@@ -104,7 +104,7 @@ public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment
protected Intent mSettingsIntent;
// The mComponentName maybe null, such as Magnify
protected ComponentName mComponentName;
protected CharSequence mPackageName;
protected CharSequence mFeatureName;
protected Uri mImageUri;
protected CharSequence mHtmlDescription;
protected CharSequence mTopIntroTitle;
@@ -204,12 +204,12 @@ public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment
mDialog = AccessibilityShortcutsTutorial
.createAccessibilityTutorialDialogForSetupWizard(
getPrefContext(), getUserPreferredShortcutTypes(),
this::callOnTutorialDialogButtonClicked, mPackageName);
this::callOnTutorialDialogButtonClicked, mFeatureName);
} else {
mDialog = AccessibilityShortcutsTutorial
.createAccessibilityTutorialDialog(
getPrefContext(), getUserPreferredShortcutTypes(),
this::callOnTutorialDialogButtonClicked, mPackageName);
this::callOnTutorialDialogButtonClicked, mFeatureName);
}
mDialog.setCanceledOnTouchOutside(false);
return mDialog;
@@ -318,7 +318,7 @@ public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment
protected void updateToggleServiceTitle(SettingsMainSwitchPreference switchPreference) {
final CharSequence title =
getString(R.string.accessibility_service_primary_switch_title, mPackageName);
getString(R.string.accessibility_service_primary_switch_title, mFeatureName);
switchPreference.setTitle(title);
}
@@ -327,7 +327,7 @@ public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment
}
protected CharSequence getShortcutTitle() {
return getString(R.string.accessibility_shortcut_title, mPackageName);
return getString(R.string.accessibility_shortcut_title, mFeatureName);
}
protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
@@ -573,7 +573,7 @@ public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment
screen.addPreference(mHtmlFooterPreference);
// TODO(b/171272809): Migrate to DashboardFragment.
final String title = getString(R.string.accessibility_introduction_title, mPackageName);
final String title = getString(R.string.accessibility_introduction_title, mFeatureName);
mFooterPreferenceController = new AccessibilityFooterPreferenceController(
screen.getContext(), mHtmlFooterPreference.getKey());
mFooterPreferenceController.setIntroductionTitle(title);
@@ -598,7 +598,7 @@ public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment
private void initFooterPreference() {
if (!TextUtils.isEmpty(mDescription)) {
createFooterPreference(getPreferenceScreen(), mDescription,
getString(R.string.accessibility_introduction_title, mPackageName));
getString(R.string.accessibility_introduction_title, mFeatureName));
}
}

View File

@@ -84,7 +84,7 @@ public class ToggleReduceBrightColorsPreferenceFragment extends ToggleFeaturePre
.appendPath(String.valueOf(R.raw.a11y_extra_dim_banner))
.build();
mComponentName = REDUCE_BRIGHT_COLORS_COMPONENT_NAME;
mPackageName = getText(R.string.reduce_bright_colors_preference_title);
mFeatureName = getText(R.string.reduce_bright_colors_preference_title);
mHtmlDescription = getText(R.string.reduce_bright_colors_preference_subtitle);
mTopIntroTitle = getText(R.string.reduce_bright_colors_preference_intro_text);
mRbcIntensityPreferenceController =

View File

@@ -112,7 +112,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mPackageName = getString(R.string.accessibility_screen_magnification_title);
mFeatureName = getString(R.string.accessibility_screen_magnification_title);
mImageUri = new Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
.authority(getPrefContext().getPackageName())
.appendPath(String.valueOf(R.raw.a11y_magnification_banner))

View File

@@ -55,8 +55,8 @@ public class VolumeShortcutToggleAccessibilityServicePreferenceFragment extends
final boolean isServiceOn =
getArguments().getBoolean(AccessibilitySettings.EXTRA_CHECKED);
final AccessibilityServiceInfo info = getAccessibilityServiceInfo();
final boolean hasRequestAccessibilityButtonFlag =
(info.flags & AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON) != 0;
final boolean hasRequestAccessibilityButtonFlag = info != null
&& (info.flags & AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON) != 0;
if (hasRequestAccessibilityButtonFlag && isServiceOn) {
shortcutTypes |= SOFTWARE;
} else {