Files
app_Settings/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
Andrew Sapperstein 466a3f6faa Remove PowerUsageFeatureProvider.isAnomalyDetectionEnabled
Instead, this decision is being handled via AnomalyDetectionPolicy.

Change-Id: I5b1831c78e31e3be984dda07bcea9f0b0a25d52f
Fixes: 62871629
Test: robotests
2017-06-23 14:32:22 -07:00

112 lines
3.3 KiB
Java

/*
* Copyright (C) 2016 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.fuelgauge;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import com.android.internal.os.BatterySipper;
import com.android.settings.fuelgauge.anomaly.Anomaly;
/**
* Feature Provider used in power usage
*/
public interface PowerUsageFeatureProvider {
/**
* Check whether location setting is enabled
*/
boolean isLocationSettingEnabled(String[] packages);
/**
* Check whether additional battery info feature is enabled.
*/
boolean isAdditionalBatteryInfoEnabled();
/**
* Gets an {@link Intent} to show additional battery info.
*/
Intent getAdditionalBatteryInfoIntent();
/**
* Check whether advanced ui is enabled
*/
boolean isAdvancedUiEnabled();
/**
* Check whether it is type service
*/
boolean isTypeService(BatterySipper sipper);
/**
* Check whether it is type system
*/
boolean isTypeSystem(BatterySipper sipper);
/**
* Check whether the toggle for power accounting is enabled
*/
boolean isPowerAccountingToggleEnabled();
/**
* Returns an improved prediction for battery time remaining.
*/
long getEnhancedBatteryPrediction(Context context);
/**
* Checks whether the toggle for enhanced battery predictions is enabled.
*/
boolean isEnhancedBatteryPredictionEnabled(Context context);
/**
* Returns the Uri used to query for an enhanced battery prediction from a cursor loader.
*/
Uri getEnhancedBatteryPredictionUri();
/**
* Returns the the estimate in the cursor as a long or -1 if the cursor is null
*/
long getTimeRemainingEstimate(Cursor cursor);
/**
* Checks whether debugging should be enabled for battery estimates.
* @return
*/
boolean isEstimateDebugEnabled();
/**
* Converts the provided string containing the remaining time into a debug string for enhanced
* estimates.
* @param timeRemaining
* @return A string containing the estimate and a label indicating it is an enhanced estimate
*/
String getEnhancedEstimateDebugString(String timeRemaining);
/**
* Converts the provided string containing the remaining time into a debug string.
* @param timeRemaining
* @return A string containing the estimate and a label indicating it is a normal estimate
*/
String getOldEstimateDebugString(String timeRemaining);
/**
* Returns the string to show in the advanced usage battery page when enhanced estimates are
* enabled. This string notifies users that the estimate is using enhanced prediction.
*/
String getAdvancedUsageScreenInfoString();
}