2 * Copyright (C) 2013 The Android Open Source Project
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package com.android.settings.accessibility;
19 import android.provider.Settings;
21 import com.android.internal.logging.MetricsProto.MetricsEvent;
22 import com.android.settings.widget.ToggleSwitch;
23 import com.android.settings.widget.ToggleSwitch.OnBeforeCheckedChangeListener;
25 public class ToggleScreenMagnificationPreferenceFragment
26 extends ToggleFeaturePreferenceFragment {
29 protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
34 protected void onInstallSwitchBarToggleSwitch() {
35 super.onInstallSwitchBarToggleSwitch();
36 mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
38 public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
39 mSwitchBar.setCheckedInternal(checked);
40 getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
41 onPreferenceToggled(mPreferenceKey, checked);
48 public void onResume() {
51 // Temporarily enable Magnification on this screen if it's disabled.
52 if (Settings.Secure.getInt(getContentResolver(),
53 Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, 0) == 0) {
54 setMagnificationEnabled(1);
59 public void onPause() {
61 if (!mToggleSwitch.isChecked()) {
62 setMagnificationEnabled(0);
66 private void setMagnificationEnabled(int enabled) {
67 Settings.Secure.putInt(getContentResolver(),
68 Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, enabled);
72 protected int getMetricsCategory() {
73 return MetricsEvent.ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION;