Merge "[Settings] Avoid from crash UI when querying data usage" am: 2da70f6385

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2092023

Change-Id: I198290510e8adda1198663beb90e8501f785c6f2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2022-05-09 16:22:13 +00:00
committed by Automerger Merge Worker

View File

@@ -37,7 +37,6 @@ import android.os.UserManager;
import android.provider.Settings; import android.provider.Settings;
import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager;
import android.util.FeatureFlagUtils;
import android.util.Log; import android.util.Log;
import android.util.SparseArray; import android.util.SparseArray;
import android.view.View; import android.view.View;
@@ -49,6 +48,7 @@ import android.widget.ImageView;
import android.widget.Spinner; import android.widget.Spinner;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.lifecycle.Lifecycle;
import androidx.loader.app.LoaderManager.LoaderCallbacks; import androidx.loader.app.LoaderManager.LoaderCallbacks;
import androidx.loader.content.Loader; import androidx.loader.content.Loader;
import androidx.preference.Preference; import androidx.preference.Preference;
@@ -501,6 +501,17 @@ public class DataUsageList extends DataUsageBaseFragment
+ cycle.end + "]"); + cycle.end + "]");
} }
// Avoid from updating UI after #onStop.
if (!getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) {
return;
}
// Avoid from updating UI when async query still on-going.
// This could happen when a request from #onMobileDataEnabledChange.
if (mCycleData == null) {
return;
}
// update chart to show selected cycle, and update detail data // update chart to show selected cycle, and update detail data
// to match updated sweep bounds. // to match updated sweep bounds.
mChart.setNetworkCycleData(mCycleData.get(position)); mChart.setNetworkCycleData(mCycleData.get(position));