Merge "Add EBS interface to BatteryController" into rvc-qpr-dev am: 05afc4f43b
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12333942 Change-Id: I5d2e8d98aef1137d57136dd10af9ffbe07ea3f2a
This commit is contained in:
@@ -111,6 +111,7 @@ public class BatterySaverTile extends QSTileImpl<BooleanState> implements
|
|||||||
: mPowerSave ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE;
|
: mPowerSave ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE;
|
||||||
state.icon = mIcon;
|
state.icon = mIcon;
|
||||||
state.label = mContext.getString(R.string.battery_detail_switch_title);
|
state.label = mContext.getString(R.string.battery_detail_switch_title);
|
||||||
|
state.secondaryLabel = "";
|
||||||
state.contentDescription = state.label;
|
state.contentDescription = state.label;
|
||||||
state.value = mPowerSave;
|
state.value = mPowerSave;
|
||||||
state.expandedAccessibilityClassName = Switch.class.getName();
|
state.expandedAccessibilityClassName = Switch.class.getName();
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.systemui.settings
|
||||||
|
|
||||||
|
import android.content.ContentResolver
|
||||||
|
|
||||||
|
interface CurrentUserContentResolverProvider {
|
||||||
|
|
||||||
|
val currentUserContentResolver: ContentResolver
|
||||||
|
}
|
||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.systemui.settings
|
package com.android.systemui.settings
|
||||||
|
|
||||||
|
import android.content.ContentResolver
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.UserHandle
|
import android.os.UserHandle
|
||||||
import androidx.annotation.VisibleForTesting
|
import androidx.annotation.VisibleForTesting
|
||||||
@@ -31,7 +32,7 @@ import java.lang.IllegalStateException
|
|||||||
class CurrentUserContextTracker internal constructor(
|
class CurrentUserContextTracker internal constructor(
|
||||||
private val sysuiContext: Context,
|
private val sysuiContext: Context,
|
||||||
broadcastDispatcher: BroadcastDispatcher
|
broadcastDispatcher: BroadcastDispatcher
|
||||||
) {
|
) : CurrentUserContentResolverProvider {
|
||||||
private val userTracker: CurrentUserTracker
|
private val userTracker: CurrentUserTracker
|
||||||
private var initialized = false
|
private var initialized = false
|
||||||
|
|
||||||
@@ -44,6 +45,9 @@ class CurrentUserContextTracker internal constructor(
|
|||||||
return _curUserContext!!
|
return _curUserContext!!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override val currentUserContentResolver: ContentResolver
|
||||||
|
get() = currentUserContext.contentResolver
|
||||||
|
|
||||||
init {
|
init {
|
||||||
userTracker = object : CurrentUserTracker(broadcastDispatcher) {
|
userTracker = object : CurrentUserTracker(broadcastDispatcher) {
|
||||||
override fun onUserSwitched(newUserId: Int) {
|
override fun onUserSwitched(newUserId: Int) {
|
||||||
@@ -54,8 +58,8 @@ class CurrentUserContextTracker internal constructor(
|
|||||||
|
|
||||||
fun initialize() {
|
fun initialize() {
|
||||||
initialized = true
|
initialized = true
|
||||||
_curUserContext = makeUserContext(userTracker.currentUserId)
|
|
||||||
userTracker.startTracking()
|
userTracker.startTracking()
|
||||||
|
_curUserContext = makeUserContext(userTracker.currentUserId)
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
|||||||
@@ -19,10 +19,12 @@ package com.android.systemui.settings.dagger;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||||
|
import com.android.systemui.settings.CurrentUserContentResolverProvider;
|
||||||
import com.android.systemui.settings.CurrentUserContextTracker;
|
import com.android.systemui.settings.CurrentUserContextTracker;
|
||||||
|
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
|
import dagger.Binds;
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
|
|
||||||
@@ -30,7 +32,7 @@ import dagger.Provides;
|
|||||||
* Dagger Module for classes found within the com.android.systemui.settings package.
|
* Dagger Module for classes found within the com.android.systemui.settings package.
|
||||||
*/
|
*/
|
||||||
@Module
|
@Module
|
||||||
public interface SettingsModule {
|
public abstract class SettingsModule {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides and initializes a CurrentUserContextTracker
|
* Provides and initializes a CurrentUserContextTracker
|
||||||
@@ -45,4 +47,9 @@ public interface SettingsModule {
|
|||||||
tracker.initialize();
|
tracker.initialize();
|
||||||
return tracker;
|
return tracker;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Binds
|
||||||
|
@Singleton
|
||||||
|
abstract CurrentUserContentResolverProvider bindCurrentUserContentResolverTracker(
|
||||||
|
CurrentUserContextTracker tracker);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,6 +78,13 @@ public interface BatteryController extends DemoMode, Dumpable,
|
|||||||
*/
|
*/
|
||||||
default void setReverseState(boolean isReverse) {}
|
default void setReverseState(boolean isReverse) {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns {@code true} if extreme battery saver is on.
|
||||||
|
*/
|
||||||
|
default boolean isExtremeSaverOn() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A listener that will be notified whenever a change in battery level or power save mode has
|
* A listener that will be notified whenever a change in battery level or power save mode has
|
||||||
* occurred.
|
* occurred.
|
||||||
@@ -92,6 +99,9 @@ public interface BatteryController extends DemoMode, Dumpable,
|
|||||||
|
|
||||||
default void onReverseChanged(boolean isReverse, int level, String name) {
|
default void onReverseChanged(boolean isReverse, int level, String name) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default void onExtremeBatterySaverChanged(boolean isExtreme) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user