Loading packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java +3 −1 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.util.concurrency.ConcurrencyModule; import com.android.systemui.util.sensors.AsyncSensorManager; import com.android.systemui.util.sensors.SensorModule; import com.android.systemui.util.settings.SettingsUtilModule; import com.android.systemui.util.time.SystemClock; import com.android.systemui.util.time.SystemClockImpl; Loading @@ -65,7 +66,8 @@ import dagger.Provides; LogModule.class, PeopleHubModule.class, SensorModule.class, SettingsModule.class SettingsModule.class, SettingsUtilModule.class }, subcomponents = {StatusBarComponent.class, NotificationRowComponent.class, Loading packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java +8 −9 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static com.android.systemui.plugins.SensorManagerPlugin.Sensor.TYPE_WAKE_ import android.annotation.AnyThread; import android.app.ActivityManager; import android.content.ContentResolver; import android.content.Context; import android.database.ContentObserver; import android.hardware.Sensor; Loading Loading @@ -49,6 +48,7 @@ import com.android.systemui.plugins.SensorManagerPlugin; import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.util.sensors.AsyncSensorManager; import com.android.systemui.util.sensors.ProximitySensor; import com.android.systemui.util.settings.SecureSettings; import com.android.systemui.util.wakelock.WakeLock; import java.io.PrintWriter; Loading @@ -64,10 +64,10 @@ public class DozeSensors { private final Context mContext; private final AsyncSensorManager mSensorManager; private final ContentResolver mResolver; private final AmbientDisplayConfiguration mConfig; private final WakeLock mWakeLock; private final Consumer<Boolean> mProxCallback; private final SecureSettings mSecureSettings; private final Callback mCallback; @VisibleForTesting protected TriggerSensor[] mSensors; Loading Loading @@ -98,13 +98,13 @@ public class DozeSensors { DozeSensors(Context context, AsyncSensorManager sensorManager, DozeParameters dozeParameters, AmbientDisplayConfiguration config, WakeLock wakeLock, Callback callback, Consumer<Boolean> proxCallback, DozeLog dozeLog, ProximitySensor proximitySensor) { ProximitySensor proximitySensor, SecureSettings secureSettings) { mContext = context; mSensorManager = sensorManager; mConfig = config; mWakeLock = wakeLock; mProxCallback = proxCallback; mResolver = mContext.getContentResolver(); mSecureSettings = secureSettings; mCallback = callback; mProximitySensor = proximitySensor; Loading Loading @@ -241,7 +241,7 @@ public class DozeSensors { } if (!anyListening) { mResolver.unregisterContentObserver(mSettingsObserver); mSecureSettings.unregisterContentObserver(mSettingsObserver); } else if (!mSettingRegistered) { for (TriggerSensor s : mSensors) { s.registerSettingsObserver(mSettingsObserver); Loading Loading @@ -400,7 +400,7 @@ public class DozeSensors { } else if (TextUtils.isEmpty(mSetting)) { return true; } return Settings.Secure.getIntForUser(mResolver, mSetting, mSettingDefault ? 1 : 0, return mSecureSettings.getIntForUser(mSetting, mSettingDefault ? 1 : 0, UserHandle.USER_CURRENT) != 0; } Loading Loading @@ -444,9 +444,8 @@ public class DozeSensors { public void registerSettingsObserver(ContentObserver settingsObserver) { if (mConfigured && !TextUtils.isEmpty(mSetting)) { mResolver.registerContentObserver( Settings.Secure.getUriFor(mSetting), false /* descendants */, mSettingsObserver, UserHandle.USER_ALL); mSecureSettings.registerContentObserverForUser( mSetting, mSettingsObserver, UserHandle.USER_ALL); } } Loading packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java +5 −2 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.util.Assert; import com.android.systemui.util.sensors.AsyncSensorManager; import com.android.systemui.util.sensors.ProximitySensor; import com.android.systemui.util.settings.SecureSettings; import com.android.systemui.util.wakelock.WakeLock; import java.io.PrintWriter; Loading Loading @@ -163,7 +164,8 @@ public class DozeTriggers implements DozeMachine.Part { DozeParameters dozeParameters, AsyncSensorManager sensorManager, WakeLock wakeLock, DockManager dockManager, ProximitySensor proximitySensor, ProximitySensor.ProximityCheck proxCheck, DozeLog dozeLog, BroadcastDispatcher broadcastDispatcher) { DozeLog dozeLog, BroadcastDispatcher broadcastDispatcher, SecureSettings secureSettings) { mContext = context; mDozeHost = dozeHost; mConfig = config; Loading @@ -172,7 +174,8 @@ public class DozeTriggers implements DozeMachine.Part { mWakeLock = wakeLock; mAllowPulseTriggers = true; mDozeSensors = new DozeSensors(context, mSensorManager, dozeParameters, config, wakeLock, this::onSensor, this::onProximityFar, dozeLog, proximitySensor); config, wakeLock, this::onSensor, this::onProximityFar, dozeLog, proximitySensor, secureSettings); mUiModeManager = mContext.getSystemService(UiModeManager.class); mDockManager = dockManager; mProxCheck = proxCheck; Loading packages/SystemUI/src/com/android/systemui/util/settings/GlobalSettings.java 0 → 100644 +25 −0 Original line number Diff line number Diff line /* * 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.util.settings; /** * Public interface that can be injected to interact with Settings.Global. * * See {@link SettingsProxy} for details. */ public interface GlobalSettings extends SettingsProxy { } packages/SystemUI/src/com/android/systemui/util/settings/GlobalSettingsImpl.java 0 → 100644 +70 −0 Original line number Diff line number Diff line /* * 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.util.settings; import android.content.ContentResolver; import android.net.Uri; import android.provider.Settings; import javax.inject.Inject; class GlobalSettingsImpl implements GlobalSettings { private final ContentResolver mContentResolver; @Inject GlobalSettingsImpl(ContentResolver contentResolver) { mContentResolver = contentResolver; } @Override public ContentResolver getContentResolver() { return mContentResolver; } @Override public Uri getUriFor(String name) { return Settings.Global.getUriFor(name); } @Override public String getStringForUser(String name, int userHandle) { return Settings.Global.getStringForUser(mContentResolver, name, userHandle); } @Override public boolean putString(String name, String value, boolean overrideableByRestore) { throw new UnsupportedOperationException( "This method only exists publicly for Settings.System and Settings.Secure"); } @Override public boolean putStringForUser(String name, String value, int userHandle) { return Settings.Global.putStringForUser(mContentResolver, name, value, userHandle); } @Override public boolean putStringForUser(String name, String value, String tag, boolean makeDefault, int userHandle, boolean overrideableByRestore) { return Settings.Global.putStringForUser( mContentResolver, name, value, tag, makeDefault, userHandle, overrideableByRestore); } @Override public boolean putString(String name, String value, String tag, boolean makeDefault) { return Settings.Global.putString(mContentResolver, name, value, tag, makeDefault); } } Loading
packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java +3 −1 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.util.concurrency.ConcurrencyModule; import com.android.systemui.util.sensors.AsyncSensorManager; import com.android.systemui.util.sensors.SensorModule; import com.android.systemui.util.settings.SettingsUtilModule; import com.android.systemui.util.time.SystemClock; import com.android.systemui.util.time.SystemClockImpl; Loading @@ -65,7 +66,8 @@ import dagger.Provides; LogModule.class, PeopleHubModule.class, SensorModule.class, SettingsModule.class SettingsModule.class, SettingsUtilModule.class }, subcomponents = {StatusBarComponent.class, NotificationRowComponent.class, Loading
packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java +8 −9 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static com.android.systemui.plugins.SensorManagerPlugin.Sensor.TYPE_WAKE_ import android.annotation.AnyThread; import android.app.ActivityManager; import android.content.ContentResolver; import android.content.Context; import android.database.ContentObserver; import android.hardware.Sensor; Loading Loading @@ -49,6 +48,7 @@ import com.android.systemui.plugins.SensorManagerPlugin; import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.util.sensors.AsyncSensorManager; import com.android.systemui.util.sensors.ProximitySensor; import com.android.systemui.util.settings.SecureSettings; import com.android.systemui.util.wakelock.WakeLock; import java.io.PrintWriter; Loading @@ -64,10 +64,10 @@ public class DozeSensors { private final Context mContext; private final AsyncSensorManager mSensorManager; private final ContentResolver mResolver; private final AmbientDisplayConfiguration mConfig; private final WakeLock mWakeLock; private final Consumer<Boolean> mProxCallback; private final SecureSettings mSecureSettings; private final Callback mCallback; @VisibleForTesting protected TriggerSensor[] mSensors; Loading Loading @@ -98,13 +98,13 @@ public class DozeSensors { DozeSensors(Context context, AsyncSensorManager sensorManager, DozeParameters dozeParameters, AmbientDisplayConfiguration config, WakeLock wakeLock, Callback callback, Consumer<Boolean> proxCallback, DozeLog dozeLog, ProximitySensor proximitySensor) { ProximitySensor proximitySensor, SecureSettings secureSettings) { mContext = context; mSensorManager = sensorManager; mConfig = config; mWakeLock = wakeLock; mProxCallback = proxCallback; mResolver = mContext.getContentResolver(); mSecureSettings = secureSettings; mCallback = callback; mProximitySensor = proximitySensor; Loading Loading @@ -241,7 +241,7 @@ public class DozeSensors { } if (!anyListening) { mResolver.unregisterContentObserver(mSettingsObserver); mSecureSettings.unregisterContentObserver(mSettingsObserver); } else if (!mSettingRegistered) { for (TriggerSensor s : mSensors) { s.registerSettingsObserver(mSettingsObserver); Loading Loading @@ -400,7 +400,7 @@ public class DozeSensors { } else if (TextUtils.isEmpty(mSetting)) { return true; } return Settings.Secure.getIntForUser(mResolver, mSetting, mSettingDefault ? 1 : 0, return mSecureSettings.getIntForUser(mSetting, mSettingDefault ? 1 : 0, UserHandle.USER_CURRENT) != 0; } Loading Loading @@ -444,9 +444,8 @@ public class DozeSensors { public void registerSettingsObserver(ContentObserver settingsObserver) { if (mConfigured && !TextUtils.isEmpty(mSetting)) { mResolver.registerContentObserver( Settings.Secure.getUriFor(mSetting), false /* descendants */, mSettingsObserver, UserHandle.USER_ALL); mSecureSettings.registerContentObserverForUser( mSetting, mSettingsObserver, UserHandle.USER_ALL); } } Loading
packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java +5 −2 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.util.Assert; import com.android.systemui.util.sensors.AsyncSensorManager; import com.android.systemui.util.sensors.ProximitySensor; import com.android.systemui.util.settings.SecureSettings; import com.android.systemui.util.wakelock.WakeLock; import java.io.PrintWriter; Loading Loading @@ -163,7 +164,8 @@ public class DozeTriggers implements DozeMachine.Part { DozeParameters dozeParameters, AsyncSensorManager sensorManager, WakeLock wakeLock, DockManager dockManager, ProximitySensor proximitySensor, ProximitySensor.ProximityCheck proxCheck, DozeLog dozeLog, BroadcastDispatcher broadcastDispatcher) { DozeLog dozeLog, BroadcastDispatcher broadcastDispatcher, SecureSettings secureSettings) { mContext = context; mDozeHost = dozeHost; mConfig = config; Loading @@ -172,7 +174,8 @@ public class DozeTriggers implements DozeMachine.Part { mWakeLock = wakeLock; mAllowPulseTriggers = true; mDozeSensors = new DozeSensors(context, mSensorManager, dozeParameters, config, wakeLock, this::onSensor, this::onProximityFar, dozeLog, proximitySensor); config, wakeLock, this::onSensor, this::onProximityFar, dozeLog, proximitySensor, secureSettings); mUiModeManager = mContext.getSystemService(UiModeManager.class); mDockManager = dockManager; mProxCheck = proxCheck; Loading
packages/SystemUI/src/com/android/systemui/util/settings/GlobalSettings.java 0 → 100644 +25 −0 Original line number Diff line number Diff line /* * 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.util.settings; /** * Public interface that can be injected to interact with Settings.Global. * * See {@link SettingsProxy} for details. */ public interface GlobalSettings extends SettingsProxy { }
packages/SystemUI/src/com/android/systemui/util/settings/GlobalSettingsImpl.java 0 → 100644 +70 −0 Original line number Diff line number Diff line /* * 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.util.settings; import android.content.ContentResolver; import android.net.Uri; import android.provider.Settings; import javax.inject.Inject; class GlobalSettingsImpl implements GlobalSettings { private final ContentResolver mContentResolver; @Inject GlobalSettingsImpl(ContentResolver contentResolver) { mContentResolver = contentResolver; } @Override public ContentResolver getContentResolver() { return mContentResolver; } @Override public Uri getUriFor(String name) { return Settings.Global.getUriFor(name); } @Override public String getStringForUser(String name, int userHandle) { return Settings.Global.getStringForUser(mContentResolver, name, userHandle); } @Override public boolean putString(String name, String value, boolean overrideableByRestore) { throw new UnsupportedOperationException( "This method only exists publicly for Settings.System and Settings.Secure"); } @Override public boolean putStringForUser(String name, String value, int userHandle) { return Settings.Global.putStringForUser(mContentResolver, name, value, userHandle); } @Override public boolean putStringForUser(String name, String value, String tag, boolean makeDefault, int userHandle, boolean overrideableByRestore) { return Settings.Global.putStringForUser( mContentResolver, name, value, tag, makeDefault, userHandle, overrideableByRestore); } @Override public boolean putString(String name, String value, String tag, boolean makeDefault) { return Settings.Global.putString(mContentResolver, name, value, tag, makeDefault); } }