Update the BC style for the vision settings in SuW.
Bug: 179234608 Test: manual test Change-Id: I152eaab8ad77c7a1fccbc82d7ed8cef406fc1821
This commit is contained in:
26
res/drawable/ic_accessibility_visibility.xml
Normal file
26
res/drawable/ic_accessibility_visibility.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2021 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12,7c-2.48,0 -4.5,2.02 -4.5,4.5S9.52,16 12,16s4.5,-2.02 4.5,-4.5S14.48,7 12,7zM12,14.2c-1.49,0 -2.7,-1.21 -2.7,-2.7 0,-1.49 1.21,-2.7 2.7,-2.7s2.7,1.21 2.7,2.7c0,1.49 -1.21,2.7 -2.7,2.7zM12,4C7,4 2.73,7.11 1,11.5 2.73,15.89 7,19 12,19s9.27,-3.11 11,-7.5C21.27,7.11 17,4 12,4zM12,17c-3.79,0 -7.17,-2.13 -8.82,-5.5C4.83,8.13 8.21,6 12,6s7.17,2.13 8.82,5.5C19.17,14.87 15.79,17 12,17z"
|
||||
android:fillColor="?android:attr/colorPrimary"/>
|
||||
</vector>
|
@@ -14,43 +14,41 @@
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<PreferenceScreen
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:settings="http://schemas.android.com/apk/res-auto"
|
||||
android:persistent="true"
|
||||
android:title="@string/vision_settings_title">
|
||||
|
||||
<com.android.settings.accessibility.DividerAllowedBelowPreference
|
||||
android:key="vision_settings_summary"
|
||||
android:layout="@layout/preference_multiline_title"
|
||||
android:selectable="false"
|
||||
android:title="@string/vision_settings_description" />
|
||||
|
||||
<Preference
|
||||
settings:controller="com.android.settings.accessibility.MagnificationPreferenceController"
|
||||
android:fragment="com.android.settings.accessibility.MagnificationPreferenceFragment"
|
||||
android:key="screen_magnification_preference"
|
||||
android:summary="@string/accessibility_preference_magnification_summary"
|
||||
android:title="@string/accessibility_screen_magnification_title" />
|
||||
|
||||
<Preference
|
||||
android:fragment="com.android.settings.display.FontSizePreferenceFragmentForSetupWizard"
|
||||
android:key="font_size_preference"
|
||||
android:icon="@drawable/ic_font_size"
|
||||
android:summary="@string/short_summary_font_size"
|
||||
android:title="@string/title_font_size"/>
|
||||
|
||||
<com.android.settings.display.ScreenZoomPreference
|
||||
android:fragment="com.android.settings.display.ScreenZoomPreferenceFragmentForSetupWizard"
|
||||
android:key="force_density_preference"
|
||||
android:icon="@drawable/ic_screen_zoom"
|
||||
android:summary="@string/screen_zoom_short_summary"
|
||||
android:title="@string/screen_zoom_title"/>
|
||||
|
||||
<Preference
|
||||
android:fragment="com.android.settings.accessibility.MagnificationPreferenceFragment"
|
||||
android:key="screen_magnification_preference"
|
||||
android:icon="@drawable/ic_accessibility_magnification"
|
||||
android:summary="@string/accessibility_preference_magnification_summary"
|
||||
android:title="@string/accessibility_screen_magnification_title"
|
||||
settings:controller="com.android.settings.accessibility.MagnificationPreferenceController"/>
|
||||
|
||||
<com.android.settingslib.RestrictedPreference
|
||||
android:fragment="com.android.settings.accessibility.ToggleSelectToSpeakPreferenceFragmentForSetupWizard"
|
||||
android:key="select_to_speak_preference"
|
||||
android:persistent="true"
|
||||
android:summary="@string/select_to_speak_summary"/>
|
||||
|
||||
<Preference
|
||||
<com.android.settingslib.RestrictedPreference
|
||||
android:fragment="com.android.settings.accessibility.ToggleScreenReaderPreferenceFragmentForSetupWizard"
|
||||
android:key="screen_reader_preference"
|
||||
android:persistent="true"
|
||||
|
@@ -16,24 +16,32 @@
|
||||
|
||||
package com.android.settings.accessibility;
|
||||
|
||||
import static com.android.settings.Utils.getAdaptiveIcon;
|
||||
import static com.android.settings.accessibility.AccessibilityUtil.AccessibilityServiceFragmentType.VOLUME_SHORTCUT_TOGGLE;
|
||||
import static com.android.settingslib.widget.TwoTargetPreference.ICON_SIZE_MEDIUM;
|
||||
|
||||
import android.accessibilityservice.AccessibilityServiceInfo;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.pm.ServiceInfo;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settingslib.RestrictedPreference;
|
||||
|
||||
import com.google.android.setupdesign.GlifPreferenceLayout;
|
||||
|
||||
@@ -61,8 +69,8 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm
|
||||
|
||||
// Preference controls.
|
||||
private Preference mDisplayMagnificationPreference;
|
||||
private Preference mScreenReaderPreference;
|
||||
private Preference mSelectToSpeakPreference;
|
||||
private RestrictedPreference mScreenReaderPreference;
|
||||
private RestrictedPreference mSelectToSpeakPreference;
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
@@ -73,16 +81,24 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
|
||||
final GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
|
||||
layout.setDividerInsets(Integer.MAX_VALUE, 0);
|
||||
|
||||
layout.setDescriptionText(R.string.vision_settings_description);
|
||||
layout.setHeaderText(R.string.vision_settings_title);
|
||||
layout.setIcon(getResources().getDrawable(R.drawable.ic_accessibility_visibility));
|
||||
|
||||
final ImageView iconView = layout.findManagedViewById(R.id.sud_layout_icon);
|
||||
final FrameLayout.LayoutParams params =
|
||||
(FrameLayout.LayoutParams) iconView.getLayoutParams();
|
||||
params.gravity = Gravity.START;
|
||||
layout.getHeaderTextView().setGravity(Gravity.START);
|
||||
layout.getDescriptionTextView().setGravity(Gravity.START);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RecyclerView onCreateRecyclerView(LayoutInflater inflater, ViewGroup parent,
|
||||
Bundle savedInstanceState) {
|
||||
GlifPreferenceLayout layout = (GlifPreferenceLayout) parent;
|
||||
final GlifPreferenceLayout layout = (GlifPreferenceLayout) parent;
|
||||
return layout.onCreateRecyclerView(inflater, parent, savedInstanceState);
|
||||
}
|
||||
|
||||
@@ -145,7 +161,7 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm
|
||||
return null;
|
||||
}
|
||||
|
||||
private void updateAccessibilityServicePreference(Preference preference,
|
||||
private void updateAccessibilityServicePreference(RestrictedPreference preference,
|
||||
String packageName, String serviceName, String targetFragment) {
|
||||
final AccessibilityServiceInfo info = findService(packageName, serviceName);
|
||||
if (info == null) {
|
||||
@@ -153,24 +169,28 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm
|
||||
return;
|
||||
}
|
||||
|
||||
ServiceInfo serviceInfo = info.getResolveInfo().serviceInfo;
|
||||
String title = info.getResolveInfo().loadLabel(getPackageManager()).toString();
|
||||
final ServiceInfo serviceInfo = info.getResolveInfo().serviceInfo;
|
||||
final Drawable icon = info.getResolveInfo().loadIcon(getPackageManager());
|
||||
preference.setIcon(getAdaptiveIcon(getContext(), icon, Color.WHITE));
|
||||
preference.setIconSize(ICON_SIZE_MEDIUM);
|
||||
final String title = info.getResolveInfo().loadLabel(getPackageManager()).toString();
|
||||
preference.setTitle(title);
|
||||
ComponentName componentName = new ComponentName(serviceInfo.packageName, serviceInfo.name);
|
||||
final ComponentName componentName =
|
||||
new ComponentName(serviceInfo.packageName, serviceInfo.name);
|
||||
preference.setKey(componentName.flattenToString());
|
||||
if (AccessibilityUtil.getAccessibilityServiceFragmentType(info) == VOLUME_SHORTCUT_TOGGLE) {
|
||||
preference.setFragment(targetFragment);
|
||||
}
|
||||
|
||||
// Update the extras.
|
||||
Bundle extras = preference.getExtras();
|
||||
final Bundle extras = preference.getExtras();
|
||||
extras.putParcelable(AccessibilitySettings.EXTRA_COMPONENT_NAME, componentName);
|
||||
|
||||
extras.putString(AccessibilitySettings.EXTRA_PREFERENCE_KEY,
|
||||
preference.getKey());
|
||||
extras.putString(AccessibilitySettings.EXTRA_TITLE, title);
|
||||
|
||||
String description = info.loadDescription(getPackageManager());
|
||||
final String description = info.loadDescription(getPackageManager());
|
||||
extras.putString(AccessibilitySettings.EXTRA_SUMMARY, description);
|
||||
|
||||
extras.putInt(AccessibilitySettings.EXTRA_ANIMATED_IMAGE_RES, info.getAnimatedImageRes());
|
||||
|
Reference in New Issue
Block a user