release-request-5c36fbeb-1180-4a77-94d2-968e28da8f1f-for-git_pi-release-4280901 snap-temp-L36900000094197597

Change-Id: I2cc061459bd92fcdc7ce435608f75e4049e2afbb
This commit is contained in:
android-build-team Robot
2017-08-17 08:11:23 +00:00
13 changed files with 217 additions and 90 deletions

View File

@@ -33,11 +33,11 @@
android:orientation="vertical">
<TextView
android:id="@+id/fingerprint_backup_message"
android:id="@+id/message"
style="@style/SuwDescription.Glif"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
android:minLines="2"/>
<LinearLayout
android:id="@+id/password_container"

View File

@@ -23,4 +23,4 @@
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:paddingTop="@dimen/suw_description_glif_margin_top"
android:paddingBottom="@dimen/suw_description_glif_margin_bottom_lists"
android:text="@string/setup_lock_settings_picker_fingerprint_message" />
android:text="@string/lock_settings_picker_fingerprint_added_security_message" />

View File

@@ -1109,8 +1109,8 @@
<!-- Title for security picker in setup wizard to choose the unlock method: None/Pattern/PIN/Password (phone) [CHAR LIMIT=22] -->
<string name="setup_lock_settings_picker_title" product="default">Protect your phone</string>
<!-- Title for screen in setup wizard, prompting user to choose the their backup screen lock method [CHAR LIMIT=NONE] -->
<string name="setup_lock_settings_picker_fingerprint_message">For added security, set up a backup screen lock.</string>
<!-- Message shown when setting up screen lock, prompting user to choose the their backup screen lock method [CHAR LIMIT=NONE] -->
<string name="lock_settings_picker_fingerprint_added_security_message">For added security, set up a backup screen lock.</string>
<!-- Description text for screen in setup wizard asking user to set up screen lock, explaining to the user how setting up a screen lock protect them from losing data. (tablet) [CHAR LIMIT=NONE] -->
<string name="setup_lock_settings_picker_message" product="tablet">Prevent others from using this tablet without your permission by activating device protection features. Choose the screen lock you want to use.</string>
@@ -3432,23 +3432,25 @@
<!-- Lock Pattern settings -->
<!-- Header on first screen of choose password/PIN flow [CHAR LIMIT=40] -->
<string name="lockpassword_choose_your_password_header">Choose your password</string>
<string name="lockpassword_choose_your_screen_lock_header">Set a screen lock</string>
<!-- Message on first screen of choose password flow [CHAR LIMIT=NONE] -->
<string name="lockpassword_choose_your_password_message">For security, set a password</string>
<!-- Header on first screen of choose password/PIN as backup for fingerprint flow. If this string cannot be translated in under 40 characters, please translate "Set fingerprint backup" [CHAR LIMIT=40] -->
<string name="lockpassword_choose_your_password_header_for_fingerprint">To use fingerprint, set password</string>
<!-- Header on first screen of choose pattern flow [CHAR LIMIT=40] -->
<string name="lockpassword_choose_your_pattern_header">Choose your pattern</string>
<!-- Header on first screen of choose pattern as backup for fingerprint flow. If this string cannot be translated in under 40 characters, please translate "Set fingerprint backup" [CHAR LIMIT=40] -->
<string name="lockpassword_choose_your_pattern_header_for_fingerprint">To use fingerprint, set pattern</string>
<!-- Header on first screen of choose password/PIN flow [CHAR LIMIT=40] -->
<string name="lockpassword_choose_your_pin_header">Choose your PIN</string>
<!-- Message on first screen of choose PIN flow [CHAR LIMIT=NONE] -->
<string name="lockpassword_choose_your_pin_message">For security, set a PIN</string>
<!-- Header on first screen of choose password/PIN as backup for fingerprint flow. If this string cannot be translated in under 40 characters, please translate "Set fingerprint backup" [CHAR LIMIT=40] -->
<string name="lockpassword_choose_your_pin_header_for_fingerprint">To use fingerprint, set PIN</string>
<!-- Header on password confirm screen [CHAR LIMIT=30] -->
<string name="lockpassword_confirm_your_password_header">Confirm your password</string>
<!-- Header on password confirm screen [CHAR LIMIT=40] -->
<string name="lockpassword_confirm_your_password_header">Re-enter your password</string>
<!-- Header on pattern confirm screen [CHAR LIMIT=30] -->
<string name="lockpassword_confirm_your_pattern_header">Confirm your pattern</string>
<!-- Header on password confirm screen [CHAR LIMIT=30] -->
<string name="lockpassword_confirm_your_pin_header">Confirm your PIN</string>
<!-- Header on password confirm screen [CHAR LIMIT=40] -->
<string name="lockpassword_confirm_your_pin_header">Re-enter your PIN</string>
<!-- Header on password confirm screen if second password doesn't match the first. [CHAR LIMIT=30] -->
<string name="lockpassword_confirm_passwords_dont_match">Passwords don\u2019t match</string>
<!-- Header on pin confirm screen if second pin doesn't match the first. [CHAR LIMIT=30]-->
@@ -4274,6 +4276,8 @@
<string name="user_installed_services_category_title">Downloaded services</string>
<!-- Title for the accessibility preference category of settings considered to be experimental, meaning they might be changed or removed in the future. [CHAR LIMIT=50] -->
<string name="experimental_category_title">Experimental</string>
<!-- Title for feature flags dashboard DO NOT TRANSLATE -->
<string name="feature_flags_dashboard_title" translatable="false">Feature flags</string>
<!-- Title for the Talkback Accessibility Service. Displayed on the Accessibility Settings screen in Setup Wizard. [CHAR_LIMIT=25] -->
<string name="talkback_title">Talkback</string>
<!-- Summary for the Talkback Accessibility Service. Lets the user know that Talkback is a screenreader and that it is usually most helpful to blind and low vision users and whether the service is on. [CHAR_LIMIT=none] -->

View File

@@ -25,7 +25,6 @@
<style name="GlifTheme" parent="SuwThemeGlif">
<!-- For all Alert Dialogs -->
<item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
<item name="android:colorPrimary">@color/suw_color_accent_dark</item>
<item name="android:windowBackground">?android:attr/colorBackground</item>
<item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
<item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
@@ -46,7 +45,6 @@
<style name="GlifTheme.Light" parent="SuwThemeGlif.Light">
<!-- For all Alert Dialogs -->
<item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
<item name="android:colorPrimary">@color/suw_color_accent_light</item>
<item name="android:windowBackground">?android:attr/colorBackground</item>
<item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
<item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
@@ -66,7 +64,6 @@
<style name="GlifV2Theme" parent="SuwThemeGlifV2">
<!-- For all Alert Dialogs -->
<item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
<item name="android:colorPrimary">@color/suw_color_accent_dark</item>
<item name="android:windowBackground">?android:attr/colorBackground</item>
<item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
<item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
@@ -87,7 +84,6 @@
<style name="GlifV2Theme.Light" parent="SuwThemeGlifV2.Light">
<!-- For all Alert Dialogs -->
<item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
<item name="android:colorPrimary">@color/suw_color_accent_light</item>
<item name="android:windowBackground">?android:attr/colorBackground</item>
<item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
<item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>

View File

@@ -167,6 +167,11 @@
android:key="camera_hal_hdrplus_switch"
android:title="@string/camera_hal_hdrplus_switch" />
<Preference
android:key="feature_flags_dashboard"
android:title="@string/feature_flags_dashboard_title"
android:fragment="com.android.settings.development.featureflags.FeatureFlagsDashboard"/>
</PreferenceCategory>
<PreferenceCategory android:key="debug_networking_category"

View File

@@ -0,0 +1,56 @@
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.settings.development.featureflags;
import android.content.Context;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settingslib.core.AbstractPreferenceController;
import java.util.List;
public class FeatureFlagsDashboard extends DashboardFragment {
private static final String TAG = "FeatureFlagsDashboard";
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.SETTINGS_FEATURE_FLAGS_DASHBOARD;
}
@Override
protected String getLogTag() {
return TAG;
}
@Override
protected int getPreferenceScreenResId() {
return R.xml.placeholder_prefs;
}
@Override
protected int getHelpResource() {
return 0;
}
@Override
protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return null;
}
}

View File

@@ -219,7 +219,7 @@ public class ChooseLockGeneric extends SettingsActivity {
mManagedPasswordProvider = ManagedLockPasswordProvider.get(getActivity(), mUserId);
if (mPasswordConfirmed) {
updatePreferencesOrFinish();
updatePreferencesOrFinish(savedInstanceState != null);
if (mForChangeCredRequiredForBoot) {
maybeEnableEncryption(mLockPatternUtils.getKeyguardStoredPasswordQuality(
mUserId), false);
@@ -234,7 +234,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|| !helper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST,
getString(R.string.unlock_set_unlock_launch_picker_title), true, mUserId)) {
mPasswordConfirmed = true; // no password set, so no need to confirm
updatePreferencesOrFinish();
updatePreferencesOrFinish(savedInstanceState != null);
} else {
mWaitingForConfirmation = true;
}
@@ -332,7 +332,7 @@ public class ChooseLockGeneric extends SettingsActivity {
if (requestCode == CONFIRM_EXISTING_REQUEST && resultCode == Activity.RESULT_OK) {
mPasswordConfirmed = true;
mUserPassword = data.getStringExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
updatePreferencesOrFinish();
updatePreferencesOrFinish(false /* isRecreatingActivity */);
if (mForChangeCredRequiredForBoot) {
if (!TextUtils.isEmpty(mUserPassword)) {
maybeEnableEncryption(
@@ -395,7 +395,7 @@ public class ChooseLockGeneric extends SettingsActivity {
outState.putBoolean(ENCRYPT_REQUESTED_DISABLED, mEncryptionRequestDisabled);
}
private void updatePreferencesOrFinish() {
private void updatePreferencesOrFinish(boolean isRecreatingActivity) {
Intent intent = getActivity().getIntent();
int quality = intent.getIntExtra(LockPatternUtils.PASSWORD_TYPE_KEY, -1);
if (quality == -1) {
@@ -413,7 +413,8 @@ public class ChooseLockGeneric extends SettingsActivity {
updatePreferenceText();
updateCurrentPreference();
updatePreferenceSummaryIfNeeded();
} else {
} else if (!isRecreatingActivity) {
// Don't start the activity again if we are recreated for configuration change
updateUnlockMethodAndFinish(quality, false, true /* chooseLockSkipped */);
}
}

View File

@@ -213,6 +213,7 @@ public class ChooseLockPassword extends SettingsActivity {
protected Button mCancelButton;
private Button mClearButton;
private Button mNextButton;
private TextView mMessage;
private TextChangedHandler mTextChangedHandler;
@@ -247,10 +248,14 @@ public class ChooseLockPassword extends SettingsActivity {
protected enum Stage {
Introduction(
R.string.lockpassword_choose_your_password_header,
R.string.lockpassword_choose_your_screen_lock_header,
R.string.lockpassword_choose_your_password_header_for_fingerprint,
R.string.lockpassword_choose_your_pin_header,
R.string.lockpassword_choose_your_screen_lock_header,
R.string.lockpassword_choose_your_pin_header_for_fingerprint,
R.string.lockpassword_choose_your_password_message,
R.string.lock_settings_picker_fingerprint_added_security_message,
R.string.lockpassword_choose_your_pin_message,
R.string.lock_settings_picker_fingerprint_added_security_message,
R.string.next_label),
NeedToConfirm(
@@ -258,6 +263,10 @@ public class ChooseLockPassword extends SettingsActivity {
R.string.lockpassword_confirm_your_password_header,
R.string.lockpassword_confirm_your_pin_header,
R.string.lockpassword_confirm_your_pin_header,
0,
0,
0,
0,
R.string.lockpassword_ok_label),
ConfirmWrong(
@@ -265,14 +274,25 @@ public class ChooseLockPassword extends SettingsActivity {
R.string.lockpassword_confirm_passwords_dont_match,
R.string.lockpassword_confirm_pins_dont_match,
R.string.lockpassword_confirm_pins_dont_match,
0,
0,
0,
0,
R.string.next_label);
Stage(int hintInAlpha, int hintInAlphaForFingerprint,
int hintInNumeric, int hintInNumericForFingerprint, int nextButtonText) {
int hintInNumeric, int hintInNumericForFingerprint,
int messageInAlpha, int messageInAlphaForFingerprint,
int messageInNumeric, int messageInNumericForFingerprint,
int nextButtonText) {
this.alphaHint = hintInAlpha;
this.alphaHintForFingerprint = hintInAlphaForFingerprint;
this.numericHint = hintInNumeric;
this.numericHintForFingerprint = hintInNumericForFingerprint;
this.alphaMessage = messageInAlpha;
this.alphaMessageForFingerprint = messageInAlphaForFingerprint;
this.numericMessage = messageInNumeric;
this.numericMessageForFingerprint = messageInNumericForFingerprint;
this.buttonText = nextButtonText;
}
@@ -280,6 +300,10 @@ public class ChooseLockPassword extends SettingsActivity {
public final int alphaHintForFingerprint;
public final int numericHint;
public final int numericHintForFingerprint;
public final int alphaMessage;
public final int alphaMessageForFingerprint;
public final int numericMessage;
public final int numericMessageForFingerprint;
public final int buttonText;
public @StringRes int getHint(boolean isAlpha, boolean isFingerprint) {
@@ -289,6 +313,14 @@ public class ChooseLockPassword extends SettingsActivity {
return isFingerprint ? numericHintForFingerprint : numericHint;
}
}
public @StringRes int getMessage(boolean isAlpha, boolean isFingerprint) {
if (isAlpha) {
return isFingerprint ? alphaMessageForFingerprint : alphaMessage;
} else {
return isFingerprint ? numericMessageForFingerprint : numericMessage;
}
}
}
// required constructor for fragments
@@ -351,14 +383,9 @@ public class ChooseLockPassword extends SettingsActivity {
mClearButton = view.findViewById(R.id.clear_button);
mClearButton.setOnClickListener(this);
mMessage = view.findViewById(R.id.message);
if (mForFingerprint) {
TextView fingerprintBackupMessage =
view.findViewById(R.id.fingerprint_backup_message);
if (fingerprintBackupMessage != null) {
fingerprintBackupMessage.setVisibility(View.VISIBLE);
fingerprintBackupMessage
.setText(R.string.setup_lock_settings_picker_fingerprint_message);
}
mLayout.setIcon(getActivity().getDrawable(R.drawable.ic_fingerprint_header));
}
@@ -848,6 +875,13 @@ public class ChooseLockPassword extends SettingsActivity {
setNextEnabled(canInput && length > 0);
mClearButton.setEnabled(canInput && length > 0);
}
int message = mUiStage.getMessage(mIsAlphaMode, mForFingerprint);
if (message != 0) {
mMessage.setVisibility(View.VISIBLE);
mMessage.setText(message);
} else {
mMessage.setVisibility(View.INVISIBLE);
}
mClearButton.setVisibility(toVisibility(mUiStage != Stage.Introduction));
mCancelButton.setVisibility(toVisibility(mUiStage == Stage.Introduction));

View File

@@ -18,13 +18,9 @@ package com.android.settings.wifi;
import android.app.Dialog;
import android.content.Context;
import android.content.res.Resources;
import android.icu.text.Collator;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.net.wifi.hotspot2.PasspointConfiguration;
import android.os.Bundle;
import android.provider.SearchIndexableResource;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.util.Log;
@@ -33,15 +29,11 @@ import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settings.search.SearchIndexableRaw;
import com.android.settingslib.wifi.AccessPoint;
import com.android.settingslib.wifi.AccessPointPreference;
import com.android.settingslib.wifi.WifiSavedConfigUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@@ -51,7 +43,7 @@ import java.util.List;
*/
public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment
implements Indexable, WifiDialog.WifiDialogListener {
private static final String TAG = "SavedAccessPointsWifiSettings";
private static final String TAG = "SavedAccessPoints";
private static final Comparator<AccessPoint> SAVED_NETWORK_COMPARATOR =
new Comparator<AccessPoint>() {
final Collator mCollator = Collator.getInstance();
@@ -239,47 +231,4 @@ public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment
return super.onPreferenceTreeClick(preference);
}
}
/**
* For search.
*/
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
boolean enabled) {
SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.wifi_display_saved_access_points;
return Arrays.asList(sir);
}
@Override
public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
final List<SearchIndexableRaw> result = new ArrayList<SearchIndexableRaw>();
final Resources res = context.getResources();
final String title = res.getString(R.string.wifi_saved_access_points_titlebar);
// Add fragment title
SearchIndexableRaw data = new SearchIndexableRaw(context);
data.title = title;
data.screenTitle = title;
data.enabled = enabled;
result.add(data);
// Add available Wi-Fi access points
final List<AccessPoint> accessPoints = WifiSavedConfigUtils.getAllConfigs(
context, context.getSystemService(WifiManager.class));
final int accessPointsSize = accessPoints.size();
for (int i = 0; i < accessPointsSize; ++i){
data = new SearchIndexableRaw(context);
data.title = accessPoints.get(i).getSsidStr();
data.screenTitle = title;
data.enabled = enabled;
result.add(data);
}
return result;
}
};
}

View File

@@ -117,7 +117,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
private Network mNetwork;
private NetworkInfo mNetworkInfo;
private NetworkCapabilities mNetworkCapabilities;
private int mRssi;
private int mRssiSignalLevel = -1;
private String[] mSignalStr;
private final WifiConfiguration mWifiConfig;
private WifiInfo mWifiInfo;
@@ -338,7 +338,6 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
refreshNetworkState();
// Update Connection Header icon and Signal Strength Preference
mRssi = mWifiInfo.getRssi();
refreshRssiViews();
// MAC Address Pref
@@ -381,9 +380,13 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
}
private void refreshRssiViews() {
int iconSignalLevel = WifiManager.calculateSignalLevel(
mRssi, WifiManager.RSSI_LEVELS);
Drawable wifiIcon = mIconInjector.getIcon(iconSignalLevel);
int signalLevel = mAccessPoint.getLevel();
if (mRssiSignalLevel == signalLevel) {
return;
}
mRssiSignalLevel = signalLevel;
Drawable wifiIcon = mIconInjector.getIcon(mRssiSignalLevel);
wifiIcon.setTint(Utils.getColorAccent(mContext));
mEntityHeaderController.setIcon(wifiIcon).done(mFragment.getActivity(), true /* rebind */);
@@ -393,8 +396,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
R.color.wifi_details_icon_color, mContext.getTheme()));
mSignalStrengthPref.setIcon(wifiIconDark);
int summarySignalLevel = mAccessPoint.getLevel();
mSignalStrengthPref.setDetailText(mSignalStr[summarySignalLevel]);
mSignalStrengthPref.setDetailText(mSignalStr[mRssiSignalLevel]);
}
private void updatePreference(WifiDetailPreference pref, String detailText) {

View File

@@ -4,6 +4,7 @@ com.android.settings.bluetooth.BluetoothPairingDetail
com.android.settings.accounts.AccountDetailDashboardFragment
com.android.settings.fuelgauge.PowerUsageAnomalyDetails
com.android.settings.fuelgauge.AdvancedPowerUsageDetail
com.android.settings.development.featureflags.FeatureFlagsDashboard
com.android.settings.deviceinfo.StorageProfileFragment
com.android.settings.wifi.details.WifiNetworkDetailsFragment
com.android.settings.wifi.p2p.WifiP2pSettings
@@ -13,3 +14,4 @@ com.android.settings.enterprise.ApplicationListFragment$AdminGrantedPermissionMi
com.android.settings.enterprise.ApplicationListFragment$EnterpriseInstalledPackages
com.android.settings.enterprise.EnterpriseSetDefaultAppsListFragment
com.android.settings.wifi.tether.WifiTetherSettings
com.android.settings.wifi.SavedAccessPointsWifiSettings

View File

@@ -0,0 +1,58 @@
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.settings.development.featureflags;
import static com.google.common.truth.Truth.assertThat;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class FeatureFlagsDashboardTest {
private FeatureFlagsDashboard mDashboard;
@Before
public void setUp() {
mDashboard = new FeatureFlagsDashboard();
}
@Test
public void shouldNotHaveHelpResource() {
assertThat(mDashboard.getHelpResource()).isEqualTo(0);
}
@Test
public void shouldLogAsFeatureFlagPage() {
assertThat(mDashboard.getMetricsCategory())
.isEqualTo(MetricsProto.MetricsEvent.SETTINGS_FEATURE_FLAGS_DASHBOARD);
}
@Test
public void shouldUsePlaceholderPreferenceLayout() {
assertThat(mDashboard.getPreferenceScreenResId())
.isEqualTo(R.xml.placeholder_prefs);
}
}

View File

@@ -745,4 +745,24 @@ public class WifiDetailPreferenceControllerTest {
verify(mockMetricsFeatureProvider)
.action(mockActivity, MetricsProto.MetricsEvent.ACTION_WIFI_SIGNIN);
}
@Test
public void testRefreshRssiViews_shouldNotUpdateIfLevelIsSame() {
displayAndResume();
mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
verify(mockAccessPoint, times(2)).getLevel();
verify(mockIconInjector, times(1)).getIcon(anyInt());
}
@Test
public void testRefreshRssiViews_shouldUpdateOnLevelChange() {
displayAndResume();
when(mockAccessPoint.getLevel()).thenReturn(0);
mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
verify(mockAccessPoint, times(2)).getLevel();
verify(mockIconInjector, times(2)).getIcon(anyInt());
}
}