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

Commit 51b06031 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[Wi-Fi] Fix data usage screen flash 1~2 times problem" into rvc-dev

parents c1f6891e 9b69fd17
Loading
Loading
Loading
Loading
+14 −8
Original line number Diff line number Diff line
@@ -90,8 +90,10 @@ public class DataUsageList extends DataUsageBaseFragment
    private static final String KEY_APP = "app";
    private static final String KEY_FIELDS = "fields";

    private static final int LOADER_CHART_DATA = 2;
    private static final int LOADER_SUMMARY = 3;
    @VisibleForTesting
    static final int LOADER_CHART_DATA = 2;
    @VisibleForTesting
    static final int LOADER_SUMMARY = 3;

    @VisibleForTesting
    MobileDataEnabledListener mDataStateListener;
@@ -188,6 +190,13 @@ public class DataUsageList extends DataUsageBaseFragment
    public void onResume() {
        super.onResume();
        mDataStateListener.start(mSubId);

        // kick off loader for network history
        // TODO: consider chaining two loaders together instead of reloading
        // network history when showing app detail.
        getLoaderManager().restartLoader(LOADER_CHART_DATA,
                buildArgs(mTemplate), mNetworkCycleDataCallbacks);

        updateBody();
    }

@@ -195,6 +204,9 @@ public class DataUsageList extends DataUsageBaseFragment
    public void onPause() {
        super.onPause();
        mDataStateListener.stop();

        getLoaderManager().destroyLoader(LOADER_CHART_DATA);
        getLoaderManager().destroyLoader(LOADER_SUMMARY);
    }

    @Override
@@ -246,12 +258,6 @@ public class DataUsageList extends DataUsageBaseFragment

        final Context context = getActivity();

        // kick off loader for network history
        // TODO: consider chaining two loaders together instead of reloading
        // network history when showing app detail.
        getLoaderManager().restartLoader(LOADER_CHART_DATA,
                buildArgs(mTemplate), mNetworkCycleDataCallbacks);

        // detail mode can change visible menus, invalidate
        getActivity().invalidateOptionsMenu();

+12 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import android.widget.FrameLayout;
import android.widget.Spinner;

import androidx.fragment.app.FragmentActivity;
import androidx.loader.app.LoaderManager;
import androidx.preference.PreferenceManager;

import com.android.settings.R;
@@ -71,6 +72,8 @@ public class DataUsageListTest {
    private MobileDataEnabledListener mMobileDataEnabledListener;
    @Mock
    private TemplatePreference.NetworkServices mNetworkServices;
    @Mock
    private LoaderManager mLoaderManager;

    private Activity mActivity;
    private DataUsageList mDataUsageList;
@@ -90,6 +93,7 @@ public class DataUsageListTest {
        ReflectionHelpers.setField(mDataUsageList, "mDataStateListener",
                mMobileDataEnabledListener);
        ReflectionHelpers.setField(mDataUsageList, "services", mNetworkServices);
        doReturn(mLoaderManager).when(mDataUsageList).getLoaderManager();
    }

    @Test
@@ -216,6 +220,14 @@ public class DataUsageListTest {
        assertThat(spinner.getVisibility()).isEqualTo(View.VISIBLE);
    }

    @Test
    public void onPause_shouldDestroyLoaders() {
        mDataUsageList.onPause();

        verify(mLoaderManager).destroyLoader(DataUsageList.LOADER_CHART_DATA);
        verify(mLoaderManager).destroyLoader(DataUsageList.LOADER_SUMMARY);
    }

    private View getHeader() {
        final View rootView = LayoutInflater.from(mActivity)
                .inflate(R.layout.preference_list_fragment, null, false);