Merge "Accessibility shortcut secondary action - Invisible type fragment need to handle AccessibilityServiceState"

This commit is contained in:
Jason Hsu
2020-01-14 02:46:46 +00:00
committed by Android (Google) Code Review
2 changed files with 31 additions and 2 deletions

View File

@@ -18,9 +18,12 @@ package com.android.settings.accessibility;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.os.Bundle;
import android.view.View;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.widget.SwitchBar;
import com.android.settingslib.accessibility.AccessibilityUtils;
/**
* For accessibility services that target SDK > Q, and
@@ -28,7 +31,7 @@ import com.android.settings.widget.SwitchBar;
* is set.
*/
public class InvisibleToggleAccessibilityServicePreferenceFragment extends
ToggleAccessibilityServicePreferenceFragment {
ToggleAccessibilityServicePreferenceFragment implements ShortcutPreference.OnClickListener{
@Override
public void onActivityCreated(Bundle savedInstanceState) {
@@ -38,4 +41,30 @@ public class InvisibleToggleAccessibilityServicePreferenceFragment extends
final SwitchBar mSwitchBar = activity.getSwitchBar();
mSwitchBar.hide();
}
/**
* {@inheritDoc}
*
* Enables accessibility service only when user had allowed permission.
*/
@Override
public void onCheckboxClicked(ShortcutPreference preference) {
super.onCheckboxClicked(preference);
AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName,
getArguments().getBoolean(AccessibilitySettings.EXTRA_CHECKED));
}
/**
* {@inheritDoc}
*
* Enables accessibility service when user clicks permission allow button.
*/
@Override
void onDialogButtonFromShortcutClicked(View view) {
super.onDialogButtonFromShortcutClicked(view);
if (view.getId() == R.id.permission_enable_allow_button) {
AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName,
true);
}
}
}

View File

@@ -565,7 +565,7 @@ public class ToggleAccessibilityServicePreferenceFragment extends
mDialog.dismiss();
}
private void onDialogButtonFromShortcutClicked(View view) {
void onDialogButtonFromShortcutClicked(View view) {
if (view.getId() == R.id.permission_enable_allow_button) {
onAllowButtonFromShortcutClicked();
} else if (view.getId() == R.id.permission_enable_deny_button) {