diff options
author | rafftsai <rafftsai@android.com> | 2018-03-28 16:07:24 +0800 |
---|---|---|
committer | Fan Zhang <zhfan@google.com> | 2018-04-02 13:18:58 -0700 |
commit | 807506b1668b8438a138e1485f27e74de6a3d06c (patch) | |
tree | b9bc6ef55c61dea489bbc3927081bc6888842e9a /src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java | |
parent | e35e00712c9c80b0ec64d3faf9832aee4b766c35 (diff) | |
download | packages_apps_Settings-807506b1668b8438a138e1485f27e74de6a3d06c.tar.gz packages_apps_Settings-807506b1668b8438a138e1485f27e74de6a3d06c.tar.bz2 packages_apps_Settings-807506b1668b8438a138e1485f27e74de6a3d06c.zip |
MagnificationPreferenceFragment use DashboardFragment
- Move preference related logic to Controller
- Add settings:controller in xml file
Bug: 73899467
Test: manual
Test: make RunSettingsRoboTests
Change-Id: I3eaccc617c4408f50110bf1f5df3482f491f7393
Signed-off-by: rafftsai <rafftsai@android.com>
Diffstat (limited to 'src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java')
-rw-r--r-- | src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java b/src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java new file mode 100644 index 0000000000..98f6672b33 --- /dev/null +++ b/src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2018 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.accessibility; + +import android.content.Context; +import android.os.Bundle; +import android.provider.Settings; +import android.support.v7.preference.Preference; + +import com.android.settings.R; +import com.android.settings.core.BasePreferenceController; + +public class MagnificationGesturesPreferenceController extends BasePreferenceController { + + private boolean mIsFromSUW = false; + + public MagnificationGesturesPreferenceController(Context context, String key) { + super(context, key); + } + + public void setIsFromSUW(boolean fromSUW) { + mIsFromSUW = fromSUW; + } + + @Override + public boolean handlePreferenceTreeClick(Preference preference) { + if (getPreferenceKey().equals(preference.getKey())) { + Bundle extras = preference.getExtras(); + populateMagnificationGesturesPreferenceExtras(extras, mContext); + extras.putBoolean(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW, mIsFromSUW); + } + return false; + } + + @Override + public int getAvailabilityStatus() { + return AVAILABLE; + } + + @Override + public CharSequence getSummary() { + int resId = 0; + if (mIsFromSUW) { + resId = R.string.accessibility_screen_magnification_short_summary; + } else { + final boolean enabled = Settings.Secure.getInt(mContext.getContentResolver(), + Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, 0) == 1; + resId = (enabled ? R.string.accessibility_feature_state_on : + R.string.accessibility_feature_state_off); + } + return mContext.getString(resId); + } + + static void populateMagnificationGesturesPreferenceExtras(Bundle extras, Context context) { + extras.putString(AccessibilitySettings.EXTRA_PREFERENCE_KEY, + Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED); + extras.putString(AccessibilitySettings.EXTRA_TITLE, context.getString( + R.string.accessibility_screen_magnification_gestures_title)); + extras.putInt(AccessibilitySettings.EXTRA_TITLE_RES, + R.string.accessibility_screen_magnification_gestures_title); + extras.putCharSequence(AccessibilitySettings.EXTRA_SUMMARY, context.getResources().getText( + R.string.accessibility_screen_magnification_summary)); + extras.putBoolean(AccessibilitySettings.EXTRA_CHECKED, + Settings.Secure.getInt(context.getContentResolver(), + Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, 0) == 1); + extras.putInt(AccessibilitySettings.EXTRA_VIDEO_RAW_RESOURCE_ID, + R.raw.accessibility_screen_magnification); + } +} |