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

Commit f514f1ee authored by Mehdi Alizadeh's avatar Mehdi Alizadeh Committed by Android (Google) Code Review
Browse files

Merge "Adds Edge to Edge option in gesture settings page"

parents 349df71c 43502549
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -9799,8 +9799,11 @@
    <!-- Title for settings suggestion for double twist for camera [CHAR LIMIT=60] -->
    <string name="double_twist_for_camera_suggestion_title">Take selfies faster</string>
    <!-- Title text for swipe up to switch apps [CHAR LIMIT=60] -->
    <string name="swipe_up_to_switch_apps_title">Swipe up on Home button</string>
    <!-- Title text for system navigation [CHAR LIMIT=60] [DO NOT TRANSLATE] -->
    <string name="system_navigation_title" translatable="false">System navigation</string>
    <!-- Title text for swipe up to switch apps [CHAR LIMIT=60] [DO NOT TRANSLATE] -->
    <string name="swipe_up_to_switch_apps_title" translatable="false">2-button navigation</string>
    <!-- Summary text for swipe up to switch apps  [CHAR LIMIT=250] -->
    <string name="swipe_up_to_switch_apps_summary">To switch apps, swipe up on the Home button. Swipe up again to see all apps. Works from any screen. You’ll no longer have an Overview button on the bottom right of your screen.</string>
    <!-- Title for settings suggestion for swipe up to switch apps [CHAR LIMIT=60] -->
@@ -9808,6 +9811,16 @@
    <!-- Summary for settings suggestion for swipe up to switch apps [CHAR LIMIT=60] -->
    <string name="swipe_up_to_switch_apps_suggestion_summary">Turn on the new gesture to switch apps</string>
    <!-- Title text for edge to edge navigation [CHAR LIMIT=60] [DO NOT TRANSLATE] -->
    <string name="edge_to_edge_navigation_title" translatable="false">Fully gestural navigation</string>
    <!-- Summary text for edge to edge navigation  [CHAR LIMIT=None] [DO NOT TRANSLATE] -->
    <string name="edge_to_edge_navigation_summary" translatable="false">To go Home, swipe up from the bottom of the screen. To go Back, swipe from either the left or right edge of the screen. To switch apps, start swiping up from the bottom of the screen and hold before releasing.</string>
    <!-- Title text for 3-button navigation [CHAR LIMIT=60] [DO NOT TRANSLATE] -->
    <string name="legacy_navigation_title" translatable="false">3-button navigation</string>
    <!-- Summary text for 3-button navigation  [CHAR LIMIT=250] [DO NOT TRANSLATE] -->
    <string name="legacy_navigation_summary" translatable="false">Classic Android navigation mode where going Home, switching apps, and going Back are accessible via buttons.</string>
    <!-- Preference and settings suggestion title text for ambient display double tap (phone) [CHAR LIMIT=60]-->
    <string name="ambient_display_title" product="default">Double-tap to check phone</string>
    <!-- Preference and settings suggestion title text for ambient display double tap (tablet) [CHAR LIMIT=60]-->
+4 −4
Original line number Diff line number Diff line
@@ -52,10 +52,10 @@
        settings:controller="com.android.settings.gestures.DoubleTwistPreferenceController" />

    <Preference
        android:key="gesture_swipe_up_input_summary"
        android:title="@string/swipe_up_to_switch_apps_title"
        android:fragment="com.android.settings.gestures.SwipeUpGestureSettings"
        settings:controller="com.android.settings.gestures.SwipeUpPreferenceController" />
        android:key="gesture_system_navigation_input_summary"
        android:title="@string/system_navigation_title"
        android:fragment="com.android.settings.gestures.SystemNavigationGestureSettings"
        settings:controller="com.android.settings.gestures.SystemNavigationLegacyPreferenceController" />

    <Preference
        android:key="gesture_tap_screen_input_summary"
+19 −5
Original line number Diff line number Diff line
@@ -18,20 +18,34 @@
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:key="gesture_swipe_up_screen"
    android:title="@string/swipe_up_to_switch_apps_title">
    android:key="gesture_system_navigation_screen"
    android:title="@string/system_navigation_title">

    <com.android.settings.widget.VideoPreference
        android:key="gesture_swipe_up_video"
        app:animation="@raw/gesture_swipe_up"
        app:preview="@drawable/gesture_swipe_up" />

    <SwitchPreference
    <com.android.settings.widget.RadioButtonPreference
        android:key="gesture_edge_to_edge"
        android:title="@string/edge_to_edge_navigation_title"
        android:summary="@string/edge_to_edge_navigation_summary"
        app:keywords="@string/keywords_gesture"
        app:controller="com.android.settings.gestures.SystemNavigationEdgeToEdgePreferenceController"
        app:allowDividerAbove="true" />

    <com.android.settings.widget.RadioButtonPreference
        android:key="gesture_swipe_up"
        android:title="@string/swipe_up_to_switch_apps_title"
        android:summary="@string/swipe_up_to_switch_apps_summary"
        app:keywords="@string/keywords_gesture"
        app:controller="com.android.settings.gestures.SwipeUpPreferenceController"
        app:allowDividerAbove="true" />
        app:controller="com.android.settings.gestures.SystemNavigationSwipeUpPreferenceController" />

    <com.android.settings.widget.RadioButtonPreference
        android:key="gesture_legacy"
        android:title="@string/legacy_navigation_title"
        android:summary="@string/legacy_navigation_summary"
        app:keywords="@string/keywords_gesture"
        app:controller="com.android.settings.gestures.SystemNavigationLegacyPreferenceController" />

</PreferenceScreen>
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@ import com.android.settings.gestures.DoubleTapScreenSettings;
import com.android.settings.gestures.DoubleTwistGestureSettings;
import com.android.settings.gestures.PickupGestureSettings;
import com.android.settings.gestures.SwipeToNotificationSettings;
import com.android.settings.gestures.SwipeUpGestureSettings;
import com.android.settings.gestures.SystemNavigationGestureSettings;
import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
import com.android.settings.inputmethod.KeyboardLayoutPickerFragment;
import com.android.settings.inputmethod.PhysicalKeyboardFragment;
@@ -201,7 +201,7 @@ public class SettingsGateway {
            DoubleTapScreenSettings.class.getName(),
            PickupGestureSettings.class.getName(),
            DoubleTwistGestureSettings.class.getName(),
            SwipeUpGestureSettings.class.getName(),
            SystemNavigationGestureSettings.class.getName(),
            CryptKeeperSettings.class.getName(),
            DataUsageSummary.class.getName(),
            DreamSettings.class.getName(),
+0 −97
Original line number Diff line number Diff line
/*
 * 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.gestures;

import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.UserManager;
import android.provider.Settings;
import android.text.TextUtils;

import com.android.internal.R;

public class SwipeUpPreferenceController extends GesturePreferenceController {

    private final int ON = 1;
    private final int OFF = 0;

    private static final String ACTION_QUICKSTEP = "android.intent.action.QUICKSTEP_SERVICE";
    private static final String PREF_KEY_VIDEO = "gesture_swipe_up_video";
    private final UserManager mUserManager;

    public SwipeUpPreferenceController(Context context, String key) {
        super(context, key);
        mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
    }

    static boolean isGestureAvailable(Context context) {
        if (!context.getResources().getBoolean(R.bool.config_swipe_up_gesture_setting_available)) {
            return false;
        }

        final ComponentName recentsComponentName = ComponentName.unflattenFromString(
                context.getString(R.string.config_recentsComponentName));
        if (recentsComponentName == null) {
            return false;
        }
        final Intent quickStepIntent = new Intent(ACTION_QUICKSTEP)
                .setPackage(recentsComponentName.getPackageName());
        if (context.getPackageManager().resolveService(quickStepIntent,
                PackageManager.MATCH_SYSTEM_ONLY) == null) {
            return false;
        }
        return true;
    }

    @Override
    public int getAvailabilityStatus() {
        return isGestureAvailable(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
    }

    @Override
    public boolean isSliceable() {
        return TextUtils.equals(getPreferenceKey(), "gesture_swipe_up");
    }

    @Override
    protected String getVideoPrefKey() {
        return PREF_KEY_VIDEO;
    }

    @Override
    public boolean setChecked(boolean isChecked) {
        setSwipeUpPreference(mContext, mUserManager, isChecked ? ON : OFF);
        return true;
    }

    public static void setSwipeUpPreference(Context context, UserManager userManager,
            int enabled) {
        Settings.Secure.putInt(context.getContentResolver(),
                Settings.Secure.SWIPE_UP_TO_SWITCH_APPS_ENABLED, enabled);
    }

    @Override
    public boolean isChecked() {
        final int defaultValue = mContext.getResources()
                .getBoolean(R.bool.config_swipe_up_gesture_default) ? ON : OFF;
        final int swipeUpEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
                Settings.Secure.SWIPE_UP_TO_SWITCH_APPS_ENABLED, defaultValue);
        return swipeUpEnabled != OFF;
    }
}
Loading