| /* |
| * Copyright (C) 2021 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.Context; |
| import android.provider.Settings; |
| |
| /** Common code for long press power settings shared between controllers. */ |
| final class PowerMenuSettingsUtils { |
| |
| /** |
| * Setting storing the current behaviour of long press power. |
| */ |
| public static final String POWER_BUTTON_LONG_PRESS_SETTING = |
| Settings.Global.POWER_BUTTON_LONG_PRESS; |
| |
| /** |
| * Value used for long press power button behaviour when the Assist setting is disabled. |
| * |
| * If this value matches Assist setting, then it falls back to Global Actions panel or |
| * power menu, depending on their respective settings. |
| */ |
| public static final int POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE = |
| com.android.internal.R.integer.config_longPressOnPowerBehavior; |
| |
| /** |
| * Values used for long press power button behaviour when Assist setting is enabled. |
| * |
| * {@link com.android.server.policy.PhoneWindowManager#LONG_PRESS_POWER_GLOBAL_ACTIONS} for |
| * source of the value. |
| */ |
| static final int LONG_PRESS_POWER_NO_ACTION = 0; |
| static final int LONG_PRESS_POWER_GLOBAL_ACTIONS = 1; |
| static final int LONG_PRESS_POWER_ASSISTANT_VALUE = 5; // Settings.Secure.ASSISTANT |
| |
| /** |
| * @return current value of power button behaviour. |
| */ |
| public static int getPowerButtonSettingValue(Context context) { |
| return Settings.Global.getInt(context.getContentResolver(), |
| POWER_BUTTON_LONG_PRESS_SETTING, |
| context.getResources().getInteger(POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE)); |
| } |
| |
| /** |
| * @return true if long press power for assist is currently enabled. |
| */ |
| public static boolean isLongPressPowerForAssistEnabled(Context context) { |
| return getPowerButtonSettingValue(context) == LONG_PRESS_POWER_ASSISTANT_VALUE; |
| } |
| |
| private PowerMenuSettingsUtils() { |
| } |
| } |