Loading packages/SystemUI/accessibility/accessibilitymenu/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ android_app { "androidx.preference_preference", "androidx.viewpager_viewpager", "SettingsLibDisplayUtils", "com_android_a11y_menu_flags_lib", ], optimize: { Loading packages/SystemUI/accessibility/accessibilitymenu/aconfig/Android.bp 0 → 100644 +12 −0 Original line number Diff line number Diff line aconfig_declarations { name: "com_android_a11y_menu_flags", package: "com.android.systemui.accessibility.accessibilitymenu", srcs: [ "accessibility.aconfig", ], } java_aconfig_library { name: "com_android_a11y_menu_flags_lib", aconfig_declarations: "com_android_a11y_menu_flags", } packages/SystemUI/accessibility/accessibilitymenu/aconfig/accessibility.aconfig 0 → 100644 +8 −0 Original line number Diff line number Diff line package: "com.android.systemui.accessibility.accessibilitymenu" flag { name: "a11y_menu_settings_back_button_fix_and_large_button_sizing" namespace: "accessibility" description: "Provides/restores back button functionality for the a11yMenu settings page. Also, fixes sizing problems with large shortcut buttons." bug: "298467628" } No newline at end of file packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/activity/A11yMenuSettingsActivity.java +19 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.provider.Browser; import android.provider.Settings; import android.view.View; import android.widget.TextView; import android.window.OnBackInvokedCallback; import androidx.annotation.Nullable; import androidx.fragment.app.FragmentActivity; Loading @@ -34,12 +35,16 @@ import androidx.preference.Preference; import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceManager; import com.android.systemui.accessibility.accessibilitymenu.Flags; import com.android.systemui.accessibility.accessibilitymenu.R; /** * Settings activity for AccessibilityMenu. */ public class A11yMenuSettingsActivity extends FragmentActivity { private OnBackInvokedCallback mCallback = () -> { finish(); }; @Override protected void onCreate(Bundle savedInstanceState) { Loading @@ -51,6 +56,10 @@ public class A11yMenuSettingsActivity extends FragmentActivity { ActionBar actionBar = getActionBar(); actionBar.setDisplayShowCustomEnabled(true); if (Flags.a11yMenuSettingsBackButtonFixAndLargeButtonSizing()) { actionBar.setDisplayHomeAsUpEnabled(true); } actionBar.setCustomView(R.layout.preferences_action_bar); ((TextView) findViewById(R.id.action_bar_title)).setText( getResources().getString(R.string.accessibility_menu_settings_name) Loading @@ -61,6 +70,16 @@ public class A11yMenuSettingsActivity extends FragmentActivity { | ActionBar.DISPLAY_HOME_AS_UP); } @Override public boolean onNavigateUp() { if (Flags.a11yMenuSettingsBackButtonFixAndLargeButtonSizing()) { mCallback.onBackInvoked(); return true; } else { return false; } } /** * Settings/preferences fragment for AccessibilityMenu. */ Loading packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/view/A11yMenuAdapter.java +22 −3 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.widget.ImageButton; import android.widget.TextView; import com.android.systemui.accessibility.accessibilitymenu.AccessibilityMenuService; import com.android.systemui.accessibility.accessibilitymenu.Flags; import com.android.systemui.accessibility.accessibilitymenu.R; import com.android.systemui.accessibility.accessibilitymenu.activity.A11yMenuSettingsActivity.A11yMenuPreferenceFragment; import com.android.systemui.accessibility.accessibilitymenu.model.A11yMenuShortcut; Loading Loading @@ -79,6 +80,11 @@ public class A11yMenuAdapter extends BaseAdapter { public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = mInflater.inflate(R.layout.grid_item, parent, false); if (Flags.a11yMenuSettingsBackButtonFixAndLargeButtonSizing()) { configureShortcutSize(convertView, A11yMenuPreferenceFragment.isLargeButtonsEnabled(mService)); } } A11yMenuShortcut shortcutItem = (A11yMenuShortcut) getItem(position); Loading Loading @@ -126,16 +132,29 @@ public class A11yMenuAdapter extends BaseAdapter { }); } private void configureShortcutSize(View convertView, boolean isLargeButtonsEnabled) { ImageButton shortcutIconButton = convertView.findViewById(R.id.shortcutIconBtn); TextView shortcutLabel = convertView.findViewById(R.id.shortcutLabel); if (isLargeButtonsEnabled) { ViewGroup.LayoutParams params = shortcutIconButton.getLayoutParams(); params.width = (int) (params.width * LARGE_BUTTON_SCALE); params.height = (int) (params.height * LARGE_BUTTON_SCALE); shortcutLabel.setTextSize(android.util.TypedValue.COMPLEX_UNIT_PX, mLargeTextSize); } } private void configureShortcutView(View convertView, A11yMenuShortcut shortcutItem) { ImageButton shortcutIconButton = convertView.findViewById(R.id.shortcutIconBtn); TextView shortcutLabel = convertView.findViewById(R.id.shortcutLabel); if (!Flags.a11yMenuSettingsBackButtonFixAndLargeButtonSizing()) { if (A11yMenuPreferenceFragment.isLargeButtonsEnabled(mService)) { ViewGroup.LayoutParams params = shortcutIconButton.getLayoutParams(); params.width = (int) (params.width * LARGE_BUTTON_SCALE); params.height = (int) (params.height * LARGE_BUTTON_SCALE); shortcutLabel.setTextSize(android.util.TypedValue.COMPLEX_UNIT_PX, mLargeTextSize); } } if (shortcutItem.getId() == A11yMenuShortcut.ShortcutId.UNSPECIFIED_ID_VALUE.ordinal()) { // Sets empty shortcut icon and label when the shortcut is ADD_ITEM. Loading Loading
packages/SystemUI/accessibility/accessibilitymenu/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ android_app { "androidx.preference_preference", "androidx.viewpager_viewpager", "SettingsLibDisplayUtils", "com_android_a11y_menu_flags_lib", ], optimize: { Loading
packages/SystemUI/accessibility/accessibilitymenu/aconfig/Android.bp 0 → 100644 +12 −0 Original line number Diff line number Diff line aconfig_declarations { name: "com_android_a11y_menu_flags", package: "com.android.systemui.accessibility.accessibilitymenu", srcs: [ "accessibility.aconfig", ], } java_aconfig_library { name: "com_android_a11y_menu_flags_lib", aconfig_declarations: "com_android_a11y_menu_flags", }
packages/SystemUI/accessibility/accessibilitymenu/aconfig/accessibility.aconfig 0 → 100644 +8 −0 Original line number Diff line number Diff line package: "com.android.systemui.accessibility.accessibilitymenu" flag { name: "a11y_menu_settings_back_button_fix_and_large_button_sizing" namespace: "accessibility" description: "Provides/restores back button functionality for the a11yMenu settings page. Also, fixes sizing problems with large shortcut buttons." bug: "298467628" } No newline at end of file
packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/activity/A11yMenuSettingsActivity.java +19 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.provider.Browser; import android.provider.Settings; import android.view.View; import android.widget.TextView; import android.window.OnBackInvokedCallback; import androidx.annotation.Nullable; import androidx.fragment.app.FragmentActivity; Loading @@ -34,12 +35,16 @@ import androidx.preference.Preference; import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceManager; import com.android.systemui.accessibility.accessibilitymenu.Flags; import com.android.systemui.accessibility.accessibilitymenu.R; /** * Settings activity for AccessibilityMenu. */ public class A11yMenuSettingsActivity extends FragmentActivity { private OnBackInvokedCallback mCallback = () -> { finish(); }; @Override protected void onCreate(Bundle savedInstanceState) { Loading @@ -51,6 +56,10 @@ public class A11yMenuSettingsActivity extends FragmentActivity { ActionBar actionBar = getActionBar(); actionBar.setDisplayShowCustomEnabled(true); if (Flags.a11yMenuSettingsBackButtonFixAndLargeButtonSizing()) { actionBar.setDisplayHomeAsUpEnabled(true); } actionBar.setCustomView(R.layout.preferences_action_bar); ((TextView) findViewById(R.id.action_bar_title)).setText( getResources().getString(R.string.accessibility_menu_settings_name) Loading @@ -61,6 +70,16 @@ public class A11yMenuSettingsActivity extends FragmentActivity { | ActionBar.DISPLAY_HOME_AS_UP); } @Override public boolean onNavigateUp() { if (Flags.a11yMenuSettingsBackButtonFixAndLargeButtonSizing()) { mCallback.onBackInvoked(); return true; } else { return false; } } /** * Settings/preferences fragment for AccessibilityMenu. */ Loading
packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/view/A11yMenuAdapter.java +22 −3 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.widget.ImageButton; import android.widget.TextView; import com.android.systemui.accessibility.accessibilitymenu.AccessibilityMenuService; import com.android.systemui.accessibility.accessibilitymenu.Flags; import com.android.systemui.accessibility.accessibilitymenu.R; import com.android.systemui.accessibility.accessibilitymenu.activity.A11yMenuSettingsActivity.A11yMenuPreferenceFragment; import com.android.systemui.accessibility.accessibilitymenu.model.A11yMenuShortcut; Loading Loading @@ -79,6 +80,11 @@ public class A11yMenuAdapter extends BaseAdapter { public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = mInflater.inflate(R.layout.grid_item, parent, false); if (Flags.a11yMenuSettingsBackButtonFixAndLargeButtonSizing()) { configureShortcutSize(convertView, A11yMenuPreferenceFragment.isLargeButtonsEnabled(mService)); } } A11yMenuShortcut shortcutItem = (A11yMenuShortcut) getItem(position); Loading Loading @@ -126,16 +132,29 @@ public class A11yMenuAdapter extends BaseAdapter { }); } private void configureShortcutSize(View convertView, boolean isLargeButtonsEnabled) { ImageButton shortcutIconButton = convertView.findViewById(R.id.shortcutIconBtn); TextView shortcutLabel = convertView.findViewById(R.id.shortcutLabel); if (isLargeButtonsEnabled) { ViewGroup.LayoutParams params = shortcutIconButton.getLayoutParams(); params.width = (int) (params.width * LARGE_BUTTON_SCALE); params.height = (int) (params.height * LARGE_BUTTON_SCALE); shortcutLabel.setTextSize(android.util.TypedValue.COMPLEX_UNIT_PX, mLargeTextSize); } } private void configureShortcutView(View convertView, A11yMenuShortcut shortcutItem) { ImageButton shortcutIconButton = convertView.findViewById(R.id.shortcutIconBtn); TextView shortcutLabel = convertView.findViewById(R.id.shortcutLabel); if (!Flags.a11yMenuSettingsBackButtonFixAndLargeButtonSizing()) { if (A11yMenuPreferenceFragment.isLargeButtonsEnabled(mService)) { ViewGroup.LayoutParams params = shortcutIconButton.getLayoutParams(); params.width = (int) (params.width * LARGE_BUTTON_SCALE); params.height = (int) (params.height * LARGE_BUTTON_SCALE); shortcutLabel.setTextSize(android.util.TypedValue.COMPLEX_UNIT_PX, mLargeTextSize); } } if (shortcutItem.getId() == A11yMenuShortcut.ShortcutId.UNSPECIFIED_ID_VALUE.ordinal()) { // Sets empty shortcut icon and label when the shortcut is ADD_ITEM. Loading