1 /* 2 * Copyright (C) 2021 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.settings.fuelgauge; 18 19 import android.content.Context; 20 21 import androidx.annotation.NonNull; 22 import androidx.annotation.Nullable; 23 24 import com.android.settings.fuelgauge.batterytip.BatteryTipPolicy; 25 import com.android.settings.fuelgauge.batterytip.detectors.LowBatteryDetector; 26 import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; 27 28 import java.util.List; 29 30 /** Feature provider implementation for battery settings usage. */ 31 public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatureProvider { 32 33 @Override isManufactureDateAvailable(Context context, long manufactureDateMs)34 public boolean isManufactureDateAvailable(Context context, long manufactureDateMs) { 35 return false; 36 } 37 38 @Override isFirstUseDateAvailable(Context context, long firstUseDateMs)39 public boolean isFirstUseDateAvailable(Context context, long firstUseDateMs) { 40 return false; 41 } 42 43 @Override isBatteryInfoEnabled(Context context)44 public boolean isBatteryInfoEnabled(Context context) { 45 return false; 46 } 47 48 @Override addBatteryTipDetector( Context context, List<BatteryTip> batteryTips, BatteryInfo batteryInfo, BatteryTipPolicy batteryTipPolicy)49 public void addBatteryTipDetector( 50 Context context, 51 List<BatteryTip> batteryTips, 52 BatteryInfo batteryInfo, 53 BatteryTipPolicy batteryTipPolicy) { 54 batteryTips.add(new LowBatteryDetector(context, batteryTipPolicy, batteryInfo).detect()); 55 } 56 57 @Override 58 @Nullable getWirelessChargingLabel( @onNull Context context, @NonNull BatteryInfo info)59 public CharSequence getWirelessChargingLabel( 60 @NonNull Context context, @NonNull BatteryInfo info) { 61 return null; 62 } 63 64 @Nullable 65 @Override getWirelessChargingContentDescription( @onNull Context context, @NonNull BatteryInfo info)66 public CharSequence getWirelessChargingContentDescription( 67 @NonNull Context context, @NonNull BatteryInfo info) { 68 return null; 69 } 70 71 @Nullable 72 @Override getWirelessChargingRemainingLabel( @onNull Context context, long remainingTimeMs, long currentTimeMs)73 public CharSequence getWirelessChargingRemainingLabel( 74 @NonNull Context context, long remainingTimeMs, long currentTimeMs) { 75 return null; 76 } 77 78 @Override isChargingOptimizationMode(@onNull Context context, boolean isLongLife)79 public boolean isChargingOptimizationMode(@NonNull Context context, boolean isLongLife) { 80 return false; 81 } 82 83 @Nullable 84 @Override getChargingOptimizationRemainingLabel( @onNull Context context, int batteryLevel, int pluggedStatus, long chargeRemainingTimeMs, long currentTimeMs)85 public CharSequence getChargingOptimizationRemainingLabel( 86 @NonNull Context context, 87 int batteryLevel, 88 int pluggedStatus, 89 long chargeRemainingTimeMs, 90 long currentTimeMs) { 91 return null; 92 } 93 94 @Nullable 95 @Override getChargingOptimizationChargeLabel( @onNull Context context, int batteryLevel, String batteryPercentageString, long chargeRemainingTimeMs, long currentTimeMs)96 public CharSequence getChargingOptimizationChargeLabel( 97 @NonNull Context context, 98 int batteryLevel, 99 String batteryPercentageString, 100 long chargeRemainingTimeMs, 101 long currentTimeMs) { 102 return null; 103 } 104 } 105