Merge ""Data Warn & Limits" pref. summary should be empty." into pi-dev am: c91339b3ce
am: 151f765339
Change-Id: I91891db36fd4011a689b807469f92e33b88864c0
This commit is contained in:
@@ -23,9 +23,12 @@ import android.os.Bundle;
|
|||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
import android.util.FeatureFlagUtils;
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto;
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
|
||||||
|
import com.android.settings.core.FeatureFlags;
|
||||||
import com.android.settings.core.SubSettingLauncher;
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
import com.android.settings.datausage.CellDataPreference.DataStateListener;
|
import com.android.settings.datausage.CellDataPreference.DataStateListener;
|
||||||
|
|
||||||
@@ -58,7 +61,9 @@ public class BillingCyclePreference extends Preference implements TemplatePrefer
|
|||||||
mSubId = subId;
|
mSubId = subId;
|
||||||
mServices = services;
|
mServices = services;
|
||||||
final int cycleDay = services.mPolicyEditor.getPolicyCycleDay(mTemplate);
|
final int cycleDay = services.mPolicyEditor.getPolicyCycleDay(mTemplate);
|
||||||
if (cycleDay != CYCLE_NONE) {
|
if (FeatureFlagUtils.isEnabled(getContext(), FeatureFlags.DATA_USAGE_SETTINGS_V2)) {
|
||||||
|
setSummary(null);
|
||||||
|
} else if (cycleDay != CYCLE_NONE) {
|
||||||
setSummary(getContext().getString(R.string.billing_cycle_fragment_summary, cycleDay));
|
setSummary(getContext().getString(R.string.billing_cycle_fragment_summary, cycleDay));
|
||||||
} else {
|
} else {
|
||||||
setSummary(null);
|
setSummary(null);
|
||||||
|
@@ -31,6 +31,7 @@ import android.support.v14.preference.SwitchPreference;
|
|||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
import android.text.format.Formatter;
|
import android.text.format.Formatter;
|
||||||
import android.text.format.Time;
|
import android.text.format.Time;
|
||||||
|
import android.util.FeatureFlagUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -41,6 +42,7 @@ import android.widget.Spinner;
|
|||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.FeatureFlags;
|
||||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||||
import com.android.settingslib.NetworkPolicyEditor;
|
import com.android.settingslib.NetworkPolicyEditor;
|
||||||
import com.android.settingslib.net.DataUsageController;
|
import com.android.settingslib.net.DataUsageController;
|
||||||
@@ -74,6 +76,21 @@ public class BillingCycleSettings extends DataUsageBase implements
|
|||||||
private Preference mDataLimit;
|
private Preference mDataLimit;
|
||||||
private DataUsageController mDataUsageController;
|
private DataUsageController mDataUsageController;
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
void setUpForTest(NetworkPolicyEditor policyEditor,
|
||||||
|
Preference billingCycle,
|
||||||
|
Preference dataLimit,
|
||||||
|
Preference dataWarning,
|
||||||
|
SwitchPreference enableLimit,
|
||||||
|
SwitchPreference enableWarning) {
|
||||||
|
services.mPolicyEditor = policyEditor;
|
||||||
|
mBillingCycle = billingCycle;
|
||||||
|
mDataLimit = dataLimit;
|
||||||
|
mDataWarning = dataWarning;
|
||||||
|
mEnableDataLimit = enableLimit;
|
||||||
|
mEnableDataWarning = enableWarning;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
@@ -101,9 +118,12 @@ public class BillingCycleSettings extends DataUsageBase implements
|
|||||||
updatePrefs();
|
updatePrefs();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updatePrefs() {
|
@VisibleForTesting
|
||||||
|
void updatePrefs() {
|
||||||
final int cycleDay = services.mPolicyEditor.getPolicyCycleDay(mNetworkTemplate);
|
final int cycleDay = services.mPolicyEditor.getPolicyCycleDay(mNetworkTemplate);
|
||||||
if (cycleDay != CYCLE_NONE) {
|
if (FeatureFlagUtils.isEnabled(getContext(), FeatureFlags.DATA_USAGE_SETTINGS_V2)) {
|
||||||
|
mBillingCycle.setSummary(null);
|
||||||
|
} else if (cycleDay != CYCLE_NONE) {
|
||||||
mBillingCycle.setSummary(getString(R.string.billing_cycle_fragment_summary, cycleDay));
|
mBillingCycle.setSummary(getString(R.string.billing_cycle_fragment_summary, cycleDay));
|
||||||
} else {
|
} else {
|
||||||
mBillingCycle.setSummary(null);
|
mBillingCycle.setSummary(null);
|
||||||
|
@@ -15,10 +15,15 @@
|
|||||||
*/
|
*/
|
||||||
package com.android.settings.datausage;
|
package com.android.settings.datausage;
|
||||||
|
|
||||||
|
import static android.net.NetworkPolicy.CYCLE_NONE;
|
||||||
import static junit.framework.Assert.assertFalse;
|
import static junit.framework.Assert.assertFalse;
|
||||||
import static junit.framework.Assert.assertTrue;
|
import static junit.framework.Assert.assertTrue;
|
||||||
|
import static org.mockito.Matchers.anyInt;
|
||||||
import static org.mockito.Matchers.anyLong;
|
import static org.mockito.Matchers.anyLong;
|
||||||
|
import static org.mockito.Matchers.anyObject;
|
||||||
|
import static org.mockito.Mockito.doReturn;
|
||||||
import static org.mockito.Mockito.never;
|
import static org.mockito.Mockito.never;
|
||||||
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
@@ -26,9 +31,14 @@ import android.content.Context;
|
|||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.support.v7.preference.Preference;
|
||||||
import android.support.v7.preference.PreferenceManager;
|
import android.support.v7.preference.PreferenceManager;
|
||||||
|
import android.support.v14.preference.SwitchPreference;
|
||||||
|
import android.util.FeatureFlagUtils;
|
||||||
|
|
||||||
|
import com.android.settings.core.FeatureFlags;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
|
import com.android.settingslib.NetworkPolicyEditor;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -47,11 +57,27 @@ public class BillingCycleSettingsTest {
|
|||||||
BillingCycleSettings.ConfirmLimitFragment mConfirmLimitFragment;
|
BillingCycleSettings.ConfirmLimitFragment mConfirmLimitFragment;
|
||||||
@Mock
|
@Mock
|
||||||
PreferenceManager mMockPreferenceManager;
|
PreferenceManager mMockPreferenceManager;
|
||||||
|
@Mock
|
||||||
|
private NetworkPolicyEditor mNetworkPolicyEditor;
|
||||||
|
|
||||||
|
private Context mContext;
|
||||||
|
@Mock
|
||||||
|
private Preference mBillingCycle;
|
||||||
|
@Mock
|
||||||
|
private Preference mDataWarning;
|
||||||
|
@Mock
|
||||||
|
private Preference mDataLimit;
|
||||||
|
@Mock
|
||||||
|
private SwitchPreference mEnableDataWarning;
|
||||||
|
@Mock
|
||||||
|
private SwitchPreference mEnableDataLimit;
|
||||||
|
|
||||||
SharedPreferences mSharedPreferences;
|
SharedPreferences mSharedPreferences;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
mContext = spy(RuntimeEnvironment.application);
|
||||||
mConfirmLimitFragment = new BillingCycleSettings.ConfirmLimitFragment();
|
mConfirmLimitFragment = new BillingCycleSettings.ConfirmLimitFragment();
|
||||||
mConfirmLimitFragment.setTargetFragment(mMockBillingCycleSettings, 0);
|
mConfirmLimitFragment.setTargetFragment(mMockBillingCycleSettings, 0);
|
||||||
mSharedPreferences = RuntimeEnvironment.application.getSharedPreferences(
|
mSharedPreferences = RuntimeEnvironment.application.getSharedPreferences(
|
||||||
@@ -80,4 +106,22 @@ public class BillingCycleSettingsTest {
|
|||||||
assertTrue(mSharedPreferences.getBoolean(BillingCycleSettings.KEY_SET_DATA_LIMIT, false));
|
assertTrue(mSharedPreferences.getBoolean(BillingCycleSettings.KEY_SET_DATA_LIMIT, false));
|
||||||
verify(mMockBillingCycleSettings).setPolicyLimitBytes(LIMIT_BYTES);
|
verify(mMockBillingCycleSettings).setPolicyLimitBytes(LIMIT_BYTES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDataUsageSummary_shouldBeNullWithV2() {
|
||||||
|
final BillingCycleSettings billingCycleSettings = spy(new BillingCycleSettings());
|
||||||
|
billingCycleSettings.setUpForTest(mNetworkPolicyEditor, mBillingCycle,
|
||||||
|
mDataLimit, mDataWarning, mEnableDataLimit, mEnableDataWarning);
|
||||||
|
|
||||||
|
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.DATA_USAGE_SETTINGS_V2, true);
|
||||||
|
|
||||||
|
doReturn("some-string").when(billingCycleSettings).getString(anyInt(), anyInt());
|
||||||
|
when(mNetworkPolicyEditor.getPolicyCycleDay(anyObject())).thenReturn(CYCLE_NONE + 1);
|
||||||
|
when(mNetworkPolicyEditor.getPolicyLimitBytes(anyObject())).thenReturn(2000L);
|
||||||
|
when(mNetworkPolicyEditor.getPolicyWarningBytes(anyObject())).thenReturn(1000L);
|
||||||
|
|
||||||
|
billingCycleSettings.updatePrefs();
|
||||||
|
|
||||||
|
verify(mBillingCycle).setSummary(null);
|
||||||
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user