Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fd17fcbf authored by Jason Hsu's avatar Jason Hsu Committed by Android (Google) Code Review
Browse files

Merge "Accessibility shortcut secondary action - Invisible type fragment need...

Merge "Accessibility shortcut secondary action - Invisible type fragment need to handle AccessibilityServiceState"
parents 1d896d97 5469cffa
Loading
Loading
Loading
Loading
+30 −1
Original line number Diff line number Diff line
@@ -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);
        }
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -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) {