Merge "[Settings] Refactor for performance" into rvc-dev
This commit is contained in:
@@ -49,10 +49,6 @@ public class DataDuringCallsPreferenceController extends TelephonyTogglePreferen
|
|||||||
public DataDuringCallsPreferenceController(Context context,
|
public DataDuringCallsPreferenceController(Context context,
|
||||||
String preferenceKey) {
|
String preferenceKey) {
|
||||||
super(context, preferenceKey);
|
super(context, preferenceKey);
|
||||||
mChangeListener = new SubscriptionsChangeListener(mContext, this);
|
|
||||||
mMobileDataContentObserver = new MobileDataContentObserver(
|
|
||||||
new Handler(Looper.getMainLooper()));
|
|
||||||
mMobileDataContentObserver.setOnMobileDataChangedListener(()->refreshPreference());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init(Lifecycle lifecycle, int subId) {
|
public void init(Lifecycle lifecycle, int subId) {
|
||||||
@@ -63,14 +59,26 @@ public class DataDuringCallsPreferenceController extends TelephonyTogglePreferen
|
|||||||
|
|
||||||
@OnLifecycleEvent(ON_RESUME)
|
@OnLifecycleEvent(ON_RESUME)
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
|
if (mChangeListener == null) {
|
||||||
|
mChangeListener = new SubscriptionsChangeListener(mContext, this);
|
||||||
|
}
|
||||||
mChangeListener.start();
|
mChangeListener.start();
|
||||||
|
if (mMobileDataContentObserver == null) {
|
||||||
|
mMobileDataContentObserver = new MobileDataContentObserver(
|
||||||
|
new Handler(Looper.getMainLooper()));
|
||||||
|
mMobileDataContentObserver.setOnMobileDataChangedListener(() -> refreshPreference());
|
||||||
|
}
|
||||||
mMobileDataContentObserver.register(mContext, mSubId);
|
mMobileDataContentObserver.register(mContext, mSubId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnLifecycleEvent(ON_PAUSE)
|
@OnLifecycleEvent(ON_PAUSE)
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
mChangeListener.stop();
|
if (mChangeListener != null) {
|
||||||
mMobileDataContentObserver.unRegister(mContext);
|
mChangeListener.stop();
|
||||||
|
}
|
||||||
|
if (mMobileDataContentObserver != null) {
|
||||||
|
mMobileDataContentObserver.unRegister(mContext);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -103,6 +111,9 @@ public class DataDuringCallsPreferenceController extends TelephonyTogglePreferen
|
|||||||
@Override
|
@Override
|
||||||
public void updateState(Preference preference) {
|
public void updateState(Preference preference) {
|
||||||
super.updateState(preference);
|
super.updateState(preference);
|
||||||
|
if (preference == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
preference.setVisible(isAvailable());
|
preference.setVisible(isAvailable());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user