You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
145 lines
6.1 KiB
145 lines
6.1 KiB
/*
|
|
* 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 */
|