Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2da80ea7 authored by Caitlin Shkuratov's avatar Caitlin Shkuratov
Browse files

[Pod] Move SettingObserver to a pod

Other settings classes are already in the util/settings pod, so move
SettingObserver to the same pod. This is required so that we can make
AirplaneModeRepository into a pod.

Bug: 407513670
Flag: EXEMPT refactor
Test: m SystemUI

Change-Id: I3654167effc97fe8345ea889551ebf07c684ae8b
parent 177bd9fc
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.Flags
import com.android.systemui.SysuiTestCase
import com.android.systemui.util.settings.SettingObserver
import com.android.systemui.util.settings.SettingsProxy
import com.google.common.truth.Truth.assertThat
import org.junit.Before
@@ -62,7 +63,7 @@ class SettingObserverTest : SysuiTestCase() {
                    settingsProxy,
                    Handler(Looper.getMainLooper()),
                    "test_setting",
                    DEFAULT_VALUE
                    DEFAULT_VALUE,
                ) {
                override fun handleValueChanged(value: Int, observedChange: Boolean) {}
            }
@@ -77,7 +78,7 @@ class SettingObserverTest : SysuiTestCase() {
                any<Uri>(),
                eq(false),
                eq(testSettingObserver),
                capture(argumentCaptor)
                capture(argumentCaptor),
            )
        assertThat(testSettingObserver.value).isEqualTo(5)

+4 −8
Original line number Diff line number Diff line
@@ -14,23 +14,19 @@
 * limitations under the License.
 */

package com.android.systemui.qs;
package com.android.systemui.util.settings;

import android.database.ContentObserver;
import android.os.Handler;

import com.android.systemui.Flags;
import com.android.systemui.statusbar.policy.Listenable;
import com.android.systemui.util.settings.SecureSettings;
import com.android.systemui.util.settings.SettingsProxy;
import com.android.systemui.util.settings.SystemSettings;

/**
 * Helper for managing global settings through use of {@link SettingsProxy}. This should
 * <em>not</em> be used for {@link SecureSettings} or {@link SystemSettings} since those must be
 * user-aware (instead, use {@link UserSettingObserver}).
 * user-aware (instead, use {@link com.android.systemui.qs.UserSettingObserver}).
 */
public abstract class SettingObserver extends ContentObserver implements Listenable {
public abstract class SettingObserver extends ContentObserver {
    private final SettingsProxy mSettingsProxy;
    private final String mSettingName;
    private final int mDefaultValue;
@@ -69,7 +65,7 @@ public abstract class SettingObserver extends ContentObserver implements Listena
        return mSettingsProxy.getInt(mSettingName, mDefaultValue);
    }

    @Override
    /** Sets whether this observer should be listening for the setting or not. */
    public void setListening(boolean listening) {
        if (listening == mListening) return;
        mListening = listening;
+1 −1
Original line number Diff line number Diff line
@@ -49,12 +49,12 @@ import com.android.systemui.plugins.qs.QSTile.BooleanState;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.QsEventLogger;
import com.android.systemui.qs.SettingObserver;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.res.R;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.util.settings.GlobalSettings;
import com.android.systemui.util.settings.SettingObserver;

import dagger.Lazy;

+2 −2
Original line number Diff line number Diff line
@@ -19,14 +19,14 @@ package com.android.systemui.statusbar.pipeline.airplane.data.repository
import android.net.ConnectivityManager
import android.os.Handler
import android.provider.Settings.Global
import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.log.table.TableLogBuffer
import com.android.systemui.log.table.logDiffsForTable
import com.android.systemui.qs.SettingObserver
import com.android.systemui.statusbar.pipeline.dagger.AirplaneTableLog
import com.android.systemui.util.settings.GlobalSettings
import com.android.systemui.util.settings.SettingObserver
import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow
import javax.inject.Inject
import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.CoroutineScope
+2 −2
Original line number Diff line number Diff line
@@ -23,16 +23,16 @@ import android.os.UserManager
import android.provider.Settings.Global.USER_SWITCHER_ENABLED
import com.android.app.tracing.coroutines.launchTraced as launch
import com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLogging
import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.qs.SettingObserver
import com.android.systemui.qs.footer.data.model.UserSwitcherStatusModel
import com.android.systemui.res.R
import com.android.systemui.statusbar.policy.UserInfoController
import com.android.systemui.statusbar.policy.UserSwitcherController
import com.android.systemui.util.settings.GlobalSettings
import com.android.systemui.util.settings.SettingObserver
import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow
import javax.inject.Inject
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.channels.awaitClose