summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/network
diff options
context:
space:
mode:
authorBonian Chen <bonianchen@google.com>2020-05-13 18:36:23 +0800
committerBonian Chen <bonianchen@google.com>2020-05-13 18:47:09 +0800
commit17ad56b3fcc082ededc7d1bc218b2b9c2dd4ffb3 (patch)
tree2bdfb82b93acd7b9ffd6d3c9b926280e1f351831 /src/com/android/settings/network
parent8224a5ad3dcc65bf8ff301b9637976965c48b3db (diff)
downloadpackages_apps_Settings-17ad56b3fcc082ededc7d1bc218b2b9c2dd4ffb3.tar.gz
packages_apps_Settings-17ad56b3fcc082ededc7d1bc218b2b9c2dd4ffb3.tar.bz2
packages_apps_Settings-17ad56b3fcc082ededc7d1bc218b2b9c2dd4ffb3.zip
[Settings] Avoid from redraw UI when first time onResume
Registration of subscription change lead to redraw. However, entire UI is newly created where redraw is not required when fragment first time created. Therefore, remove first callback from SubscriptionManager to reduce some time. Bug: 141833767 Test: manual Change-Id: I54a58dd8271bb2cd8cd531cc02ff7d64b3e4328c
Diffstat (limited to 'src/com/android/settings/network')
-rw-r--r--src/com/android/settings/network/telephony/MobileNetworkSettings.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettings.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
index 49f7981c28..528e5c7788 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkSettings.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
@@ -73,7 +73,7 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings {
private String mClickedPrefKey;
private ActiveSubsciptionsListener mActiveSubsciptionsListener;
- private boolean mActiveSubsciptionsListenerStarting;
+ private boolean mDropFirstSubscriptionChangeNotify;
private int mActiveSubsciptionsListenerCount;
public MobileNetworkSettings() {
@@ -207,20 +207,20 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings {
public void onResume() {
super.onResume();
if (mActiveSubsciptionsListener == null) {
- mActiveSubsciptionsListenerStarting = true;
mActiveSubsciptionsListener = new ActiveSubsciptionsListener(
getContext().getMainLooper(), getContext(), mSubId) {
public void onChanged() {
onSubscriptionDetailChanged();
}
};
- mActiveSubsciptionsListenerStarting = false;
+ mDropFirstSubscriptionChangeNotify = true;
}
mActiveSubsciptionsListener.start();
}
private void onSubscriptionDetailChanged() {
- if (mActiveSubsciptionsListenerStarting) {
+ if (mDropFirstSubscriptionChangeNotify) {
+ mDropFirstSubscriptionChangeNotify = false;
Log.d(LOG_TAG, "Callback during onResume()");
return;
}
@@ -235,6 +235,14 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings {
});
}
+ @Override
+ public void onDestroy() {
+ if (mActiveSubsciptionsListener != null) {
+ mActiveSubsciptionsListener.stop();
+ }
+ super.onDestroy();
+ }
+
@VisibleForTesting
void onRestoreInstance(Bundle icicle) {
if (icicle != null) {