diff options
Diffstat (limited to 'services/powermanager/include/android/BatterySaverPolicyConfig.h')
-rw-r--r-- | services/powermanager/include/android/BatterySaverPolicyConfig.h | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/services/powermanager/include/android/BatterySaverPolicyConfig.h b/services/powermanager/include/android/BatterySaverPolicyConfig.h new file mode 100644 index 0000000000..3a0c9d0ddd --- /dev/null +++ b/services/powermanager/include/android/BatterySaverPolicyConfig.h @@ -0,0 +1,144 @@ +/* + * Copyright (C) 2020 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. + */ + +#ifndef ANDROID_OS_BATTERY_SAVER_POLICY_CONFIG_H +#define ANDROID_OS_BATTERY_SAVER_POLICY_CONFIG_H + +#include <math.h> +#include <binder/Parcelable.h> +#include <utils/RefBase.h> + +namespace android::os { + +enum class LocationMode : int32_t; +enum class SoundTriggerMode : int32_t; +/** + * BatterySaverPolicyConfig is a structure of configs to set Battery Saver policy flags. + * This file needs to be kept in sync with + * frameworks/base/core/java/android/os/BatterySaverPolicyConfig.java + */ +struct BatterySaverPolicyConfig : public android::Parcelable { + + BatterySaverPolicyConfig(float adjustBrightnessFactor = 1.0f, + bool advertiseIsEnabled = false, + bool deferFullBackup = false, + bool deferKeyValueBackup = false, + std::vector<std::pair<String16, String16>> deviceSpecificSettings = {}, + bool disableAnimation = false, + bool disableAod = false, + bool disableLaunchBoost = false, + bool disableOptionalSensors = false, + bool disableVibration = false, + bool enableAdjustBrightness = false, + bool enableDataSaver = false, + bool enableFirewall = false, + bool enableNightMode = false, + bool enableQuickDoze = false, + bool forceAllAppsStandby = false, + bool forceBackgroundCheck = false, + LocationMode locationMode = static_cast<LocationMode>(0), + SoundTriggerMode soundTriggerMode = static_cast<SoundTriggerMode>(0)) + : mAdjustBrightnessFactor(adjustBrightnessFactor), + mAdvertiseIsEnabled(advertiseIsEnabled), + mDeferFullBackup(deferFullBackup), + mDeferKeyValueBackup(deferKeyValueBackup), + mDeviceSpecificSettings(deviceSpecificSettings), + mDisableAnimation(disableAnimation), + mDisableAod(disableAod), + mDisableLaunchBoost(disableLaunchBoost), + mDisableOptionalSensors(disableOptionalSensors), + mDisableVibration(disableVibration), + mEnableAdjustBrightness(enableAdjustBrightness), + mEnableDataSaver(enableDataSaver), + mEnableFirewall(enableFirewall), + mEnableNightMode(enableNightMode), + mEnableQuickDoze(enableQuickDoze), + mForceAllAppsStandby(forceAllAppsStandby), + mForceBackgroundCheck(forceBackgroundCheck), + mLocationMode(locationMode), + mSoundTriggerMode(soundTriggerMode) { + } + + status_t readFromParcel(const android::Parcel* parcel) override; + status_t writeToParcel(android::Parcel* parcel) const override; + bool operator == (const BatterySaverPolicyConfig &bsp) const { + return fabs(mAdjustBrightnessFactor - bsp.mAdjustBrightnessFactor) == 0.0f && + mAdvertiseIsEnabled == bsp.mAdvertiseIsEnabled && + mDeferFullBackup == bsp.mDeferFullBackup && + mDeferKeyValueBackup == bsp.mDeferKeyValueBackup && + mDeviceSpecificSettings == bsp.mDeviceSpecificSettings && + mDisableAnimation == bsp.mDisableAnimation && + mDisableAod == bsp.mDisableAod && + mDisableLaunchBoost == bsp.mDisableLaunchBoost && + mDisableOptionalSensors == bsp.mDisableOptionalSensors && + mDisableVibration == bsp.mDisableVibration && + mEnableAdjustBrightness == bsp.mEnableAdjustBrightness && + mEnableDataSaver == bsp.mEnableDataSaver && + mEnableFirewall == bsp.mEnableFirewall && + mEnableNightMode == bsp.mEnableNightMode && + mEnableQuickDoze == bsp.mEnableQuickDoze && + mForceAllAppsStandby == bsp.mForceAllAppsStandby && + mForceBackgroundCheck == bsp.mForceBackgroundCheck && + mLocationMode == bsp.mLocationMode && + mSoundTriggerMode == bsp.mSoundTriggerMode; + } + +private: + status_t readDeviceSpecificSettings(const android::Parcel *parcel); + status_t writeDeviceSpecificSettings(android::Parcel *parcel) const; + /** Adjust screen brightness factor */ + float mAdjustBrightnessFactor; + /** Is advertise enabled */ + bool mAdvertiseIsEnabled; + /** Defer full backup */ + bool mDeferFullBackup; + /** Defer key value backup */ + bool mDeferKeyValueBackup; + /** Device specific settings */ + std::vector<std::pair<String16, String16>> mDeviceSpecificSettings; + /** Disable animation */ + bool mDisableAnimation; + /** Disable Aod */ + bool mDisableAod; + /** Disable launch boost */ + bool mDisableLaunchBoost; + /** Disable optional sensors */ + bool mDisableOptionalSensors; + /** Disable vibration */ + bool mDisableVibration; + /** Enable adjust brightness */ + bool mEnableAdjustBrightness; + /** Enable data saver */ + bool mEnableDataSaver; + /** Enable firewall */ + bool mEnableFirewall; + /** Enable night mode */ + bool mEnableNightMode; + /** Enable quick doze */ + bool mEnableQuickDoze; + /** Force all Apps standby */ + bool mForceAllAppsStandby; + /** Force Background check */ + bool mForceBackgroundCheck; + /** Location mode */ + LocationMode mLocationMode; + /** SoundTrigger mode */ + SoundTriggerMode mSoundTriggerMode; +}; + +} // namespace android::os + +#endif /* ANDROID_OS_BATTERY_SAVER_POLICY_CONFIG_H */ |