Remove "enhance web scripts" from settings.
See change Ic125514c34f191aea0416a469e4b3481ab3200b9 for details. bug:8089372 Change-Id: I47eda16579c29051aa24b8d4c38035439aa00915
This commit is contained in:
@@ -3116,8 +3116,6 @@
|
||||
<string name="accessibility_toggle_speak_password_preference_title">Speak passwords</string>
|
||||
<!-- Title for accessibility preference to choose long-press delay i.e. timeout before it is detected. [CHAR LIMIT=35] -->
|
||||
<string name="accessibility_long_press_timeout_preference_title">Touch & hold delay</string>
|
||||
<!-- Title for accessibility preference to install accessibility scripts from Google. [CHAR LIMIT=35] -->
|
||||
<string name="accessibility_toggle_script_injection_preference_title">Enhance web accessibility</string>
|
||||
|
||||
<!-- Title for accessibility menu item to lauch a settings activity. [CHAR LIMIT=15] -->
|
||||
<string name="accessibility_menu_item_settings">Settings</string>
|
||||
@@ -3127,16 +3125,6 @@
|
||||
<!-- Summary for the disabled state of an accessiblity feature. [CHAR LIMIT=10] -->
|
||||
<string name="accessibility_feature_state_off">Off</string>
|
||||
|
||||
<!-- Summary for the allowed state of script injection. [CHAR LIMIT=15] -->
|
||||
<string name="accessibility_script_injection_allowed">Allowed</string>
|
||||
<!-- Summary for the disallowed state of script injection. [CHAR LIMIT=15] -->
|
||||
<string name="accessibility_script_injection_disallowed">Not allowed</string>
|
||||
|
||||
<!-- Title for the dialog button to allow script injection. [CHAR LIMIT=15] -->
|
||||
<string name="accessibility_script_injection_button_allow">Allow</string>
|
||||
<!-- Title for the dialog button to disallow script injection. [CHAR LIMIT=15] -->
|
||||
<string name="accessibility_script_injection_button_disallow">Don\'t allow</string>
|
||||
|
||||
<!-- Title for a warning message about security implications of enabling an accessibility service,
|
||||
displayed as a dialog message when the user selects to enable an accessibility service (tablet). [CHAR LIMIT=NONE] -->
|
||||
<string name="accessibility_service_security_warning_title">Use
|
||||
@@ -3175,11 +3163,6 @@
|
||||
help blind and low-vision users. Do you want to install it for free from Android
|
||||
Market?</string>
|
||||
|
||||
<!-- Warning message about security implications of downloading accessibility scripts,
|
||||
displayed as a dialog message when the user selects to enable script downloading. [CHAR LIMIT=NONE] -->
|
||||
<string name="accessibility_script_injection_security_warning_summary">Do you want apps to
|
||||
install scripts from Google that make their web content more accessible?</string>
|
||||
|
||||
<!-- Default description for an accessibility serivice if the latter doesn't provide one. [CHAR LIMIT=NONE] -->
|
||||
<string name="accessibility_service_default_description">No description provided.</string>
|
||||
|
||||
|
@@ -67,17 +67,6 @@
|
||||
android:entryValues="@array/long_press_timeout_selector_values"
|
||||
android:persistent="false"/>
|
||||
|
||||
<!-- We want a dialog with no title, so use an empty string to avoid a fall back to the preference title. -->
|
||||
<com.android.settings.AccessibilityEnableScriptInjectionPreference
|
||||
android:key="toggle_script_injection_preference"
|
||||
android:title="@string/accessibility_toggle_script_injection_preference_title"
|
||||
android:dialogTitle=""
|
||||
android:dialogIcon="@android:drawable/ic_dialog_alert"
|
||||
android:dialogMessage="@string/accessibility_script_injection_security_warning_summary"
|
||||
android:positiveButtonText="@string/accessibility_script_injection_button_allow"
|
||||
android:negativeButtonText="@string/accessibility_script_injection_button_disallow"
|
||||
android:persistent="false"/>
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
</PreferenceScreen>
|
||||
|
@@ -1,175 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2011 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.
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.preference.DialogPreference;
|
||||
import android.provider.Settings;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
|
||||
/**
|
||||
* Preference for enabling accessibility script injection. It displays a warning
|
||||
* dialog before enabling the preference.
|
||||
*/
|
||||
public class AccessibilityEnableScriptInjectionPreference extends DialogPreference {
|
||||
|
||||
private boolean mInjectionAllowed;
|
||||
private boolean mSendClickAccessibilityEvent;
|
||||
|
||||
public AccessibilityEnableScriptInjectionPreference(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
updateSummary();
|
||||
}
|
||||
|
||||
public void setInjectionAllowed(boolean injectionAllowed) {
|
||||
if (mInjectionAllowed != injectionAllowed) {
|
||||
mInjectionAllowed = injectionAllowed;
|
||||
persistBoolean(injectionAllowed);
|
||||
updateSummary();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isInjectionAllowed() {
|
||||
return mInjectionAllowed;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onBindView(View view) {
|
||||
super.onBindView(view);
|
||||
View summaryView = view.findViewById(com.android.internal.R.id.summary);
|
||||
sendAccessibilityEvent(summaryView);
|
||||
}
|
||||
|
||||
private void sendAccessibilityEvent(View view) {
|
||||
// Since the view is still not attached we create, populate,
|
||||
// and send the event directly since we do not know when it
|
||||
// will be attached and posting commands is not as clean.
|
||||
AccessibilityManager accessibilityManager = AccessibilityManager.getInstance(getContext());
|
||||
if (mSendClickAccessibilityEvent && accessibilityManager.isEnabled()) {
|
||||
AccessibilityEvent event = AccessibilityEvent.obtain();
|
||||
event.setEventType(AccessibilityEvent.TYPE_VIEW_CLICKED);
|
||||
view.onInitializeAccessibilityEvent(event);
|
||||
view.dispatchPopulateAccessibilityEvent(event);
|
||||
accessibilityManager.sendAccessibilityEvent(event);
|
||||
}
|
||||
mSendClickAccessibilityEvent = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onClick() {
|
||||
if (isInjectionAllowed()) {
|
||||
setInjectionAllowed(false);
|
||||
// Update the system setting only upon user action.
|
||||
setSystemSetting(false);
|
||||
mSendClickAccessibilityEvent = true;
|
||||
} else {
|
||||
super.onClick();
|
||||
mSendClickAccessibilityEvent = false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object onGetDefaultValue(TypedArray a, int index) {
|
||||
return a.getBoolean(index, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSetInitialValue(boolean restoreValue, Object defaultValue) {
|
||||
setInjectionAllowed(restoreValue
|
||||
? getPersistedBoolean(mInjectionAllowed)
|
||||
: (Boolean) defaultValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDialogClosed(boolean result) {
|
||||
setInjectionAllowed(result);
|
||||
if (result) {
|
||||
// Update the system setting only upon user action.
|
||||
setSystemSetting(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Parcelable onSaveInstanceState() {
|
||||
Parcelable superState = super.onSaveInstanceState();
|
||||
if (isPersistent()) {
|
||||
return superState;
|
||||
}
|
||||
SavedState myState = new SavedState(superState);
|
||||
myState.mInjectionAllowed = mInjectionAllowed;
|
||||
return myState;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onRestoreInstanceState(Parcelable state) {
|
||||
if (state == null || !state.getClass().equals(SavedState.class)) {
|
||||
super.onRestoreInstanceState(state);
|
||||
return;
|
||||
}
|
||||
SavedState myState = (SavedState) state;
|
||||
super.onRestoreInstanceState(myState.getSuperState());
|
||||
setInjectionAllowed(myState.mInjectionAllowed);
|
||||
}
|
||||
|
||||
private void updateSummary() {
|
||||
setSummary(mInjectionAllowed
|
||||
? getContext().getString(R.string.accessibility_script_injection_allowed)
|
||||
: getContext().getString(R.string.accessibility_script_injection_disallowed));
|
||||
}
|
||||
|
||||
private void setSystemSetting(boolean enabled) {
|
||||
Settings.Secure.putInt(getContext().getContentResolver(),
|
||||
Settings.Secure.ACCESSIBILITY_SCRIPT_INJECTION, enabled ? 1 : 0);
|
||||
}
|
||||
|
||||
private static class SavedState extends BaseSavedState {
|
||||
private boolean mInjectionAllowed;
|
||||
|
||||
public SavedState(Parcel source) {
|
||||
super(source);
|
||||
mInjectionAllowed = (source.readInt() == 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel parcel, int flags) {
|
||||
super.writeToParcel(parcel, flags);
|
||||
parcel.writeInt(mInjectionAllowed ? 1 : 0);
|
||||
}
|
||||
|
||||
public SavedState(Parcelable superState) {
|
||||
super(superState);
|
||||
}
|
||||
|
||||
@SuppressWarnings("all")
|
||||
public static final Parcelable.Creator<SavedState> CREATOR =
|
||||
new Parcelable.Creator<SavedState>() {
|
||||
public SavedState createFromParcel(Parcel in) {
|
||||
return new SavedState(in);
|
||||
}
|
||||
|
||||
public SavedState[] newArray(int size) {
|
||||
return new SavedState[size];
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
@@ -108,8 +108,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
||||
"toggle_speak_password_preference";
|
||||
private static final String SELECT_LONG_PRESS_TIMEOUT_PREFERENCE =
|
||||
"select_long_press_timeout_preference";
|
||||
private static final String TOGGLE_SCRIPT_INJECTION_PREFERENCE =
|
||||
"toggle_script_injection_preference";
|
||||
private static final String ENABLE_ACCESSIBILITY_GESTURE_PREFERENCE_SCREEN =
|
||||
"enable_global_gesture_preference_screen";
|
||||
private static final String DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN =
|
||||
@@ -179,7 +177,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
||||
private CheckBoxPreference mToggleLockScreenRotationPreference;
|
||||
private CheckBoxPreference mToggleSpeakPasswordPreference;
|
||||
private ListPreference mSelectLongPressTimeoutPreference;
|
||||
private AccessibilityEnableScriptInjectionPreference mToggleScriptInjectionPreference;
|
||||
private Preference mNoServicesMessagePreference;
|
||||
private PreferenceScreen mDisplayMagnificationPreferenceScreen;
|
||||
private PreferenceScreen mGlobalGesturePreferenceScreen;
|
||||
@@ -344,10 +341,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
||||
}
|
||||
}
|
||||
|
||||
// Script injection.
|
||||
mToggleScriptInjectionPreference = (AccessibilityEnableScriptInjectionPreference)
|
||||
findPreference(TOGGLE_SCRIPT_INJECTION_PREFERENCE);
|
||||
|
||||
// Display magnification.
|
||||
mDisplayMagnificationPreferenceScreen = (PreferenceScreen) findPreference(
|
||||
DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN);
|
||||
@@ -504,11 +497,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
||||
mSelectLongPressTimeoutPreference.setValue(value);
|
||||
mSelectLongPressTimeoutPreference.setSummary(mLongPressTimeoutValuetoTitleMap.get(value));
|
||||
|
||||
// Script injection.
|
||||
final boolean scriptInjectionAllowed = (Settings.Secure.getInt(getContentResolver(),
|
||||
Settings.Secure.ACCESSIBILITY_SCRIPT_INJECTION, 0) == 1);
|
||||
mToggleScriptInjectionPreference.setInjectionAllowed(scriptInjectionAllowed);
|
||||
|
||||
// Screen magnification.
|
||||
final boolean magnificationEnabled = Settings.Secure.getInt(getContentResolver(),
|
||||
Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, 0) == 1;
|
||||
|
Reference in New Issue
Block a user