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

Commit c560b73b authored by David Liu's avatar David Liu Committed by Android (Google) Code Review
Browse files

Merge "Migrate Data Saver" into main

parents b95032af d7dec0bf
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -35,3 +35,11 @@ flag {
  description: "Flag for Wi-Fi calling screen"
  bug: "323791114"
}

flag {
  name: "catalyst_restrict_background_parent_entry"
  namespace: "android_settings"
  description: "Flag for Data Saver"
  bug: "323791114"
}
+50 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.datausage

import android.content.Context
import com.android.settings.R
import com.android.settings.flags.Flags
import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator

@ProvidePreferenceScreen
class DataSaverScreen : PreferenceScreenCreator {
    override val key
        get() = KEY

    override val title
        get() = R.string.data_saver_title

    override val icon: Int
        get() = R.drawable.ic_settings_data_usage

    override fun order(context: Context) = 10

    override fun isFlagEnabled(context: Context) = Flags.catalystRestrictBackgroundParentEntry()

    override fun fragmentClass() = DataSaverSummary::class.java

    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}

    override fun hasCompleteHierarchy() = false

    companion object {
        const val KEY = "restrict_background_parent_entry"
    }
}
+2 −0
Original line number Diff line number Diff line
@@ -79,6 +79,8 @@ class DataSaverSummary : DashboardFragment() {
    override fun getHelpResource() = R.string.help_url_data_saver
    override fun getLogTag() = TAG

    override fun getPreferenceScreenBindingKey(context: Context) = DataSaverScreen.KEY

    private val dataSaverBackendListener = object : DataSaverBackend.Listener {
        override fun onDataSaverChanged(isDataSaving: Boolean) {
            synchronized(this) {
+35 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.datausage

import com.android.settings.flags.Flags
import com.android.settingslib.preference.CatalystScreenTestCase
import com.google.common.truth.Truth.assertThat
import org.junit.Test

class DataSaverScreenTest : CatalystScreenTestCase() {
    override val preferenceScreenCreator = DataSaverScreen()
    override val flagName
        get() = Flags.FLAG_CATALYST_RESTRICT_BACKGROUND_PARENT_ENTRY

    override fun migration() {}

    @Test
    fun key() {
        assertThat(preferenceScreenCreator.key).isEqualTo(DataSaverScreen.KEY)
    }
}