[Catalyst] Add Data Saver settings metadata

Bug: 368359883
Flag: com.android.settings.flags.catalyst
Test: manual
Change-Id: I7a4fe8cdd73a551a2b281e3a5a3a0f269b54ee5e
This commit is contained in:
Jacky Wang
2024-11-12 06:50:18 +08:00
parent 8fab3bf097
commit 2bab900fa0
4 changed files with 60 additions and 6 deletions

View File

@@ -17,29 +17,39 @@ package com.android.settings.datausage;
import android.content.Context;
import android.util.AttributeSet;
import androidx.annotation.Nullable;
import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.flags.Flags;
public class DataSaverPreference extends Preference implements DataSaverBackend.Listener {
private final DataSaverBackend mDataSaverBackend;
private final @Nullable DataSaverBackend mDataSaverBackend;
public DataSaverPreference(Context context, AttributeSet attrs) {
super(context, attrs);
mDataSaverBackend = new DataSaverBackend(context);
mDataSaverBackend = isCatalystEnabled() ? null : new DataSaverBackend(context);
}
private boolean isCatalystEnabled() {
return Flags.catalyst() && Flags.catalystRestrictBackgroundParentEntry();
}
@Override
public void onAttached() {
super.onAttached();
mDataSaverBackend.addListener(this);
if (mDataSaverBackend != null) {
mDataSaverBackend.addListener(this);
}
}
@Override
public void onDetached() {
super.onDetached();
mDataSaverBackend.remListener(this);
if (mDataSaverBackend != null) {
mDataSaverBackend.remListener(this);
}
}
@Override