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

Commit b52c50d0 authored by Fan Zhang's avatar Fan Zhang
Browse files

Add setting page for swipe to notification.

In this change input & gesture page added 5 separate gesture
preferences, each should lead to a new page to set gesture setting. For
now only swipe to notification preference is wired up. Will implement
the rest in later changes.

Bug: 32637613
Test: make RunSettingsRoboTests -j40
Change-Id: I57ceea8fcd85f3a0ab59cbd12da50b7138f5ca0c
parent 50e19f6e
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
@@ -27,6 +27,33 @@
            android:fragment="com.android.settings.inputmethod.PhysicalKeyboardFragment"/>
    </PreferenceCategory>

    <PreferenceCategory
        android:key="gesture_settings_category"
        android:title="@string/gesture_preference_title">

        <Preference
            android:key="gesture_swipe_down_fingerprint"
            android:title="@string/fingerprint_swipe_for_notifications_title"
            android:fragment="com.android.settings.gestures.SwipeToNotificationSettings"/>

        <Preference
            android:key="gesture_double_tap_power"
            android:title="@string/double_tap_power_for_camera_title"/>

        <Preference
            android:key="gesture_double_twist"
            android:title="@string/double_twist_for_camera_mode_title"/>

        <Preference
            android:key="gesture_double_tap_screen"
            android:title="@string/ambient_display_title"/>

        <Preference
            android:key="gesture_pick_up"
            android:title="@string/ambient_display_pickup_title"/>

    </PreferenceCategory>

    <PreferenceCategory
        android:key="pointer_settings_category"
        android:title="@string/pointer_settings_category">
+25 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2016 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.
  -->

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

    <SwitchPreference
        android:key="gesture_swipe_down_fingerprint"
        android:title="@string/fingerprint_swipe_for_notifications_title"
        android:summary="@string/fingerprint_swipe_for_notifications_summary"/>

</PreferenceScreen>
 No newline at end of file
+2 −0
Original line number Diff line number Diff line
@@ -98,6 +98,7 @@ import com.android.settings.fuelgauge.BatterySaverSettings;
import com.android.settings.fuelgauge.PowerUsageDetail;
import com.android.settings.fuelgauge.PowerUsageSummary;
import com.android.settings.gestures.GestureSettings;
import com.android.settings.gestures.SwipeToNotificationSettings;
import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
import com.android.settings.inputmethod.InputAndGestureSettings;
import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
@@ -348,6 +349,7 @@ public class SettingsActivity extends SettingsDrawerActivity
            AccountSyncSettings.class.getName(),
            AccountSettings.class.getName(),
            GestureSettings.class.getName(),
            SwipeToNotificationSettings.class.getName(),
            CryptKeeperSettings.class.getName(),
            DataUsageSummary.class.getName(),
            DreamSettings.class.getName(),
+1 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ public abstract class InstrumentedFragment extends ObservablePreferenceFragment
    protected final int APP_AND_NOTIFICATION_CATEGORY_FRAGMENT = PLACEHOLDER_METRIC + 5;
    protected final int INPUT_AND_GESTURE_CATEGORY_FRAGMENT = PLACEHOLDER_METRIC + 6;
    protected final int LANGUAGE_AND_REGION_CATEGORY_FRAGMENT = PLACEHOLDER_METRIC + 7;
    protected final int GESTURE_SWIPE_TO_NOTIFICATION = PLACEHOLDER_METRIC + 8;

    public InstrumentedFragment() {
        // Mixin that logs visibility change for activity.
+10 −2
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.provider.Settings;
import android.support.v7.preference.Preference;
import android.support.v7.preference.TwoStatePreference;

import com.android.settings.R;
import com.android.settings.core.PreferenceController;

public class SwipeToNotificationPreferenceController extends PreferenceController
@@ -45,8 +46,15 @@ public class SwipeToNotificationPreferenceController extends PreferenceControlle
    @Override
    public void updateState(Preference preference) {
        super.updateState(preference);
        if (preference != null && preference instanceof TwoStatePreference) {
            ((TwoStatePreference) preference).setChecked(isSystemUINavigationEnabled());
        final boolean isEnabled = isSystemUINavigationEnabled();
        if (preference != null) {
            if (preference instanceof TwoStatePreference) {
                ((TwoStatePreference) preference).setChecked(isEnabled);
            } else {
                preference.setSummary(isEnabled
                        ? R.string.gesture_setting_on
                        : R.string.gesture_setting_off);
            }
        }
    }

Loading